Можно ли получить файл или объект URI для файла внутри архива с Java? (архив на молнии или баночке)Получить файл или объект URI для файла внутри архива с Java?
Спасибо, Hemeroc.
Можно ли получить файл или объект URI для файла внутри архива с Java? (архив на молнии или баночке)Получить файл или объект URI для файла внутри архива с Java?
Спасибо, Hemeroc.
Протокол jar:
является способ построения URI к ресурсу в архиве JAR:
jar:http://www.example.com/bar/baz.jar!/path/to/file
ВИДЕТЬ API документацию для JarURLConnection: http://java.sun.com/javase/6/docs/api/java/net/JarURLConnection.html
между с jar:
и !/
может быть любой URL , включая URL-адрес file:
.
С фактическими данными файла, например, ZipFile#getInputStream(ZipEntry). Javadocs для этого класса объясняют, как его использовать.
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 в файл", хотя вы можете быть счастливы с объектом InputStream также, вместо объекта File :)