私のプロジェクトでは、次を使用してリソースをロードします
getClass().getResource("/package/my_reource.file").getFile()
プロジェクトを netbeans で実行するとすべて正常に動作しますが、jar ファイルを実行すると FileNotFoundException が発生します。なぜですか?
ありがとう。
私のプロジェクトでは、次を使用してリソースをロードします
getClass().getResource("/package/my_reource.file").getFile()
プロジェクトを netbeans で実行するとすべて正常に動作しますが、jar ファイルを実行すると FileNotFoundException が発生します。なぜですか?
ありがとう。
InputStream
ではなく使用できますgetClass().getResource("/package/my_reource.file").getFile()
あなたは使用する必要があります
getClass.getResourceAsStream("/package/myresource.file")
ファイル名は必要ないと思います。むしろその内容が必要です。getResourceAsStream()
そのため、そこからコンテンツを取得しInputStream
て読み取るために使用します。
あなたの瓶をチェックしてください。あなたのファイルはそこにないと思います。理由は、jar をどのように作成しているかによって異なります。netbeans を使用している場合は、設定を確認してください。おそらく、*.class ファイルのみが含まれていますか? アリについても同様です。タグを確認してください。
getFile() は、getResource() によって返された URL のファイル パス部分を返します。そのため、Jar 内にある場合は、jar を読み取ってファイルを取得する必要があります。ファイルシステム上にある場合は、FileInputStream を使用して読み取ることができます。
InputStream を取得したいが、それを取得する場所を作成しない場合は、getResourceAsStream() を使用します。