2016-05-10 4 views
0

コードから読み込む必要があるリソースファイルがあります。だから私が開発しているときは、srcフォルダの下にあります(そしてclassesフォルダの下にコピーされます)。私たちがプロダクションに入ったら、jarファイルに入っています。srcフォルダの下にあり、jarファイル内にある可能性のあるファイルを取得するにはどうすればよいですか?

すべての場合に有効なファイルへの絶対パスを設定するにはどうすればよいですか?

アップデート:次のことをしようが、それは常にあなたは、まさにこの目的のためにClass.getResource()Class.getResourceAsStream()を使用

is = getResourceStream(RESOURCE_PATH + afmFile + ".afm", resourceAnchor.getClass().getClassLoader()); 
if(is==null){ 
    is = getResourceStream("src/"+RESOURCE_PATH + afmFile + ".afm", resourceAnchor.getClass().getClassLoader()); 
} 
+0

展開時にsrcフォルダの下にはありません。 – EJP

答えて

0

動作しません。

+1

イメージをリソースとしてロードする例は、Java™チュートリアルのセクション[リソースの取得](https://docs.oracle.com/javase/tutorial/deployment/webstart/retrievingResources.html) –

+0

@Vampireにあります。しかしそれはいつも働いているわけではありません。アップデートを見てください。 –

+0

'getResourceStream()'とは何ですか? 'getResourceAsStream()'を正しく使うと、期待通りに動作します。期待通りに動作しない場合は、誤って使用している可能性が最も高いです。 ;-) – Vampire

関連する問題