ホームページ >Java >&#&チュートリアル >Java で JAR ファイル内に埋め込まれたリソースにアクセスするにはどうすればよいですか?
Java を使用した JAR ファイル内のリソースへのアクセス
JAR ファイルを操作する場合、埋め込みリソースへのパスを取得する必要がある場合があります。ただし、
ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("config/netclient.p").getFile());
などの手法を使用してパスを取得しようとすると、指定されたファイルが見つからないことを示すエラーが発生する場合があります。この動作は Java JAR ファイル構造に固有のものです。
この結果の理由は、JAR 内に含まれるリソースがファイル システム上の個別のファイルとして必ずしも利用できるわけではないためです。これらは、ファイル システムへの直接アクセスを不可能にする方法でアーカイブ内に圧縮または保存されている可能性があります。
さらに、リソース アクセスに java.io.File に依存することは、最も効率的または移植性の高いアプローチではない可能性があります。 。代わりに、次のオプションを検討してください:
classLoader.getResource("config/netclient.p")このアプローチではリソース ストリームへのアクセスが提供されますが、ファイルは提供されませんpath.
InputStream in = classLoader.getResourceAsStream("config/netclient.p"); FileOutputStream out = new FileOutputStream(new File("tmp/" + fileName));これにより、指定された一時ディレクトリにリソースのファイル バージョンを作成できるようになります。
以上がJava で JAR ファイル内に埋め込まれたリソースにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。