JARに含まれているクラスパス内のディレクトリにあるファイルのリストを取得するにはどうすればよいですか?JARに含まれるクラスパス内のディレクトリにあるファイルのリストを取得するにはどうすればよいですか?
質問は、JARファイルをそのまま開いて、ディレクトリ内のディレクトリにあるファイルを検索することではありません。問題は、JARがクラスパスに含まれていたため、クラスパス内に存在したディレクトリ内のファイルをリストする方法です。オープンJARファイルは必要ありません。これが不可能な場合は、あらかじめjarのファイル名を知らなくても、それをどうやってやるべきか説明してください。
は、プロジェクトがそのリソースの構造、次のようである別のプロジェクトに依存していると言う:testFolderはクラスパスで利用可能であること、どのように私はそれの下のファイルを列挙しないことを考えると
src/main/resources/testFolder
- fileA.txt
- fileB.txt
?
testFolderは、WARのlibフォルダ内の依存関係が存在するJARの内部に置かれます。基本となる実装を読め
あなたの質問から、testFolderがJARで終わるかどうかは不明です。 – pvg
@pvg、もちろんそうです。実際には、this.getClass()。getClassLoader()。getResources( "testFolder")を呼び出すと、URLインスタンス(testFolderを表す1要素のEnumerable)が返されます。含まれていなければ、そのコードはURLを返しません。 –
supertonsky
私は、クラスローダーが本当にそれを意図しているとは思わない(具体的には、getResourcesはそうではありません)。あなたの最善の策は、http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html – pvg