6

我正在尝试加载属性文件而不使用文件的实际路径。我已经在其他一些简单的应用程序上使用:

InputStream inputStream = ClassLoader.getSystemResourceAsStream(PROPERTIES_FILE);
props.load(inputStream);

但这一次它不起作用。inputStream 出于某种原因为空。PROPERTIES_FILE 是一个定义为“app.properties”的常量。我试图删除 .properties 扩展名并得到相同的结果。

有任何想法吗?

谢谢。

4

3 回答 3

13

PROPERTIES_FILE 常量应该包括包和属性文件(例如“com/some/library/file.properties”。

    final static String PROPS_FILE = "/com/some/library/file.props";
                     //The preceding  "/" is dependendant on wheterh 
                     //you are going to be giving a relative or absolute location
    InputStream is = YourCurrentClass.class.getResourceAsStream(PROPS_FILE);
于 2009-04-20T21:15:16.610 回答
0

getSystemResourceAsStream返回时null,表示资源未找到。确保请求的资源确实位于指定位置的类路径上。

于 2009-04-20T21:15:19.933 回答
0

遇到了同样的问题。

原因:我将DAO包重命名为dao. 爆炸时artifact,目录DAO不会被覆盖。

所以我进入dao了项目内部和DAO文件系统:facepalm:

于 2019-12-23T16:54:41.043 回答