Java JAR ファイル内のリソースへのパスの取得
質問:
JAR ファイル内のリソース (構成ファイルなど) へのパスが証明されている失敗した。 getResourceAsStream() および getFile() でクラス ローダーを使用しようとすると、例外が発生するか、JAR ファイル自体を参照するパスが生成されます。有効なファイル パスを取得することは可能ですか?
回答:
JAR ファイル内のリソースへのファイル パスを取得することは、潜在的な制限のため本質的に困難です。クラスローダー。 JAR ファイルには、ファイル システム上に個別のファイルとして物理的に存在しないリソースが含まれることがよくあります。
リソースのコンテンツへのアクセスは、リソースのコンテンツを読み取るための入力ストリームを返す classLoader.getResourceAsStream() を通じて可能です。ただし、これを getFile() でファイルに変換しようとすると、リソースに対応するファイル パスがない可能性があるため、例外が発生する可能性があります。
ファイル ハンドルが絶対に必要な場合は、一時ハンドルを作成することをお勧めします。ファイルにリソースの内容をコピーし、一時ファイルのパスを使用します。この代替アプローチにより、有効なファイル パスの可用性が保証されます。
以上がJava JAR ファイル内のリソースへのファイル パスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。