1

以下のコードを使用して.cer、Java クラスからファイル (ファイル) を読み取ります。Java クラスは Jar 内にバンドルされてから、EAR に含まれます。

FileInputStream inStream = new FileInputStream ("/home/test/foo.cer"); 

私も試しました

FileInputStream inStream = new FileInputStream ("home/test/foo.cer"); 

しかし、どちらも FileNotFoundException をスローします。EAR は Unix システムの Weblogic にデプロイされます。パスとファイル名を確認しました。

何か不足している場合のアイデアはありますか?

4

2 に答える 2

1

アプリケーション サーバーのクラスパスに .cer ファイルの場所を含め、それを ClassLoader のgetResourceAsStream(String location)メソッドでロードすることをお勧めします。

ディレクトリをクラスパスに追加した場合/home/test、適切なコードは次のようになります。

this.getClass().getClassLoader().getResourceAsStream("foo.cer");

これは、アプリサーバーで実行する場合に外部リソースをロードする方法としてはるかに信頼性が高く、さらにテストがはるかに簡単になることがわかりました。

于 2011-07-18T22:14:27.390 に答える
-3
try {
    BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME_REL_OR_ABSOLUTE));
    reader.readLine();
} catch (IOException e) { 

} catch (FileNotFoundException ex) {

}
于 2011-07-18T22:14:40.137 に答える