0

静的初期化コードでJavaのプロパティファイルを読み込もうとしています:

public class NFWConfiguration {

private static final Properties PROPS = new Properties();

static {
    try {

        InputStream IS = NFWConfiguration.class.getClassLoader()
            .getResourceAsStream(
                "/net/nfw/Configuration/NFWConfiguration.properties");

        PROPS.load(IS);

    } catch (IOException ex) {
        Logger.getLogger(NFWConfiguration.class.getName())
            .log(Level.SEVERE, null, ex);
    }
}

    // ...

}

それでも、次のエラーメッセージが表示されます。

Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at net.nfw.Configuration.NFWConfiguration.<clinit>(NFWConfiguration.java:28)

確かにそうISですがnull、そうする理由はありませんnull。をダブルチェックしましたが.jar、プロパティファイルは正しいディレクトリにあります。

私は何が間違っているのですか?

4

2 に答える 2

4

/次のようにパスの先頭を削除してみてください。

      InputStream IS = NFWConfiguration.class.getClassLoader()
        .getResourceAsStream(
            "net/nfw/Configuration/NFWConfiguration.properties");
于 2012-11-30T14:09:05.147 に答える
1

ファイルパスを設定することを除いて、あなたは正しいことをしています。よく確認してください。この状況を静的プロパティの読み込みでローカルに確認したところ、すべて問題ありませんでした。

于 2012-11-30T14:09:10.170 に答える