我正在Eclipse Helios中创建一个java应用程序。我创建了一个类,我需要从.properties文件中获取数据,我在包含该解决方案的文件夹中添加了该文件。通过此代码,我可以访问来自.properties文件,当我尝试在Eclipse中运行它时。
代码是:
Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
_url = prop.getProperty("url");
通过此代码,我获得了Url的正确值。
在此之后我创建了一个项目的可执行jar。当我尝试使用命令行执行jar时,我得到了一个FileNotFoundException,意味着jar无法找到.properties文件。
我将.properties文件保存在与Jar文件相同的文件夹中,因为我们提供了编辑.properties文件的功能。
由于我开始在Java工作仅4天,我无法弄清楚.properties文件的放置位置以及如何访问它。
请帮忙。
答案 0 :(得分:1)
对于jar尝试使用:
prop.load(getClass().getClassLoader().getResourceAsStream("config.properties"));
如果从静态上下文中调用:
prop.load(YourClassName.class.getClassLoader().getResourceAsStream("config.properties"));
答案 1 :(得分:0)
您需要让类加载器获取资源。 见http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html
Properties prop = new Properties();
prop.load(classLoader.getResourceAsStream("config.properties"));
_url = prop.getProperty("url");