JAR ファイル内のファイルのリスト
Java では、listFiles() メソッドを使用してディレクトリ内のファイルのリストを取得できます。 。ただし、JAR ファイルに直接適用してその内容を取得することはできません。
これを実現するには、Java の CodeSource クラスを利用できます:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); try (ZipInputStream zip = new ZipInputStream(jar.openStream())) { while (true) { ZipEntry e = zip.getNextEntry(); if (e == null) { break; } String name = e.getName(); if (name.startsWith("path/to/your/dir/")) { // Process the entries within the specified directory. } } } catch (IOException ex) { // Handle I/O exceptions. } } else { // Handle the case where no CodeSource is available. }
注:
Java 7機能強化:
Java 7 以降では、FileSystems.newFileSystem() メソッドを使用して、JAR ファイルから直接 FileSystem オブジェクトを作成できます。これにより、NIO のディレクトリ ウォーキングおよびフィルタリング メカニズムを使用して JAR ファイルのコンテンツにアクセスできるようになり、JAR と「展開された」ディレクトリの両方をより簡単に処理できるようになります。
以上がJava で JAR ファイル内のファイルをリストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。