6

ファイルの実際のパスを使用せずにプロパティ ファイルを読み込もうとしています。私はすでに他のいくつかの単純なアプリでそれを行っています:

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

しかし、今回はうまくいきません。inputStream が何らかの理由で null です。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 に答える