è possibile ottenere un oggetto File o URI per un file all'interno di un archivio con Java? (archivio zip o jar)Ottieni un oggetto File o URI per un file all'interno di un archivio con Java?
Grazie Hemeroc.
è possibile ottenere un oggetto File o URI per un file all'interno di un archivio con Java? (archivio zip o jar)Ottieni un oggetto File o URI per un file all'interno di un archivio con Java?
Grazie Hemeroc.
Il protocollo jar:
è un modo per costruire un URI a una risorsa in un archivio JAR:
jar:http://www.example.com/bar/baz.jar!/path/to/file
Vedere la documentazione API per JarURLConnection: http://java.sun.com/javase/6/docs/api/java/net/JarURLConnection.html
Tra il jar:
e !/
può essere qualsiasi URL , incluso un URL file:
.
Per i dati del file attuale, vedere ZipFile#getInputStream(ZipEntry). I javadoc per quella classe spiegano come deve essere usato.
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;
}
per il metodo inputStreamToFile, google "java inputStream su file", anche se si potrebbe essere felici con un oggetto InputStream Inoltre, invece di un oggetto File :)