0

我正在 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 文件的放置位置以及如何访问它。

请帮忙。

4

2 回答 2

1

对于 jar 尝试使用:

prop.load(getClass().getClassLoader().getResourceAsStream("config.properties"));

如果您从静态上下文中调用,请使用:

prop.load(YourClassName.class.getClassLoader().getResourceAsStream("config.properties"));
于 2013-01-14T05:47:32.973 回答
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");
于 2013-01-14T05:42:20.323 回答