11

Java を使用してアーカイブ内のファイルのファイルまたは URI オブジェクトを取得することは可能ですか? (zip または jar アーカイブ)

ありがとうヘメロク。

4

3 に答える 3

12

jar:プロトコルは、JAR アーカイブ内のリソースへの URI を構築する方法です。

jar:http://www.example.com/bar/baz.jar!/path/to/file

JarURLConnection の API ドキュメントを参照してください: http://java.sun.com/javase/6/docs/api/java/net/JarURLConnection.html

jar:との間には!/、URL を含む任意の URL を指定できfile:ます。

于 2010-01-12T14:40:15.950 に答える
2
public List<File> getFilesInJar(String jarName){    
  List<File> result = new ArrayList<File>();
  File jarFile = new File(jarName);    
  JarInputStream jarFile = new JarInputStream(new FileInputStream(jarFile));
  JarEntry jarEntry;

  while ((jarEntry = jarFile.getNextJarEntry()) != null) {
    result.add(inputStreamToFile(jarFile.getInputStream(jarEntry)));
  }
  return result;
}

inputStreamToFileメソッドの場合、google "java inputStream to file"ですが、Fileオブジェクトの代わりにInputStreamオブジェクトでも満足できるかもしれません:)

于 2010-01-12T14:59:11.347 に答える
1

実際のファイル データについては、ZipFile#getInputStream(ZipEntry)を参照してください。そのクラスの javadoc では、その使用方法が説明されています。

于 2010-01-12T14:41:30.800 に答える