0

私のプロジェクトでは、次を使用してリソースをロードします

getClass().getResource("/package/my_reource.file").getFile()

プロジェクトを netbeans で実行するとすべて正常に動作しますが、jar ファイルを実行すると FileNotFoundException が発生します。なぜですか?

ありがとう。

4

4 に答える 4

2

InputStreamではなく使用できますgetClass().getResource("/package/my_reource.file").getFile()

あなたは使用する必要があります

getClass.getResourceAsStream("/package/myresource.file")
于 2012-02-15T14:50:41.833 に答える
1

ファイル名は必要ないと思います。むしろその内容が必要です。getResourceAsStream()そのため、そこからコンテンツを取得しInputStreamて読み取るために使用します。

于 2010-12-11T12:39:13.050 に答える
0

あなたの瓶をチェックしてください。あなたのファイルはそこにないと思います。理由は、jar をどのように作成しているかによって異なります。netbeans を使用している場合は、設定を確認してください。おそらく、*.class ファイルのみが含まれていますか? アリについても同様です。タグを確認してください。

于 2010-12-11T12:33:03.990 に答える
0

getFile() は、getResource() によって返された URL のファイル パス部分を返します。そのため、Jar 内にある場合は、jar を読み取ってファイルを取得する必要があります。ファイルシステム上にある場合は、FileInputStream を使用して読み取ることができます。

InputStream を取得したいが、それを取得する場所を作成しない場合は、getResourceAsStream() を使用します。

于 2010-12-11T12:41:00.053 に答える