Я хотел бы получить доступ к файлу jar в хранилище, найти в нем определенные файлы, получить эти файлы и сохранить их на моем жестком диске. Я не хочу загружать всю банку и затем искать ее.
Итак, давайте предположим, что у меня есть адрес банки. Может ли кто-нибудь предоставить мне код для остальной части проблемы?
public void searchInsideJar(final String jarUrl, final String artifactId,
final String artifactVersion) {
InputStream is = null;
OutputStream outStream = null;
JarInputStream jis = null;
int i = 1;
try {
String strDirectory = "C:/Users/ilijab/" + artifactId +artifactVersion;
// Create one directory
boolean success = (new File(strDirectory)).mkdir();
if (success) {
System.out.println("Directory: " + strDirectory + " created");
}
is = new URL(jarUrl).openStream();
jis = new JarInputStream(is);
while (true) {
JarEntry ent = jis.getNextJarEntry();
if (ent == null) {
break;
}
if (ent.isDirectory()) {
continue;
}
if (ent.getName().contains("someFile")) {
outStream = new BufferedOutputStream(new FileOutputStream(
strDirectory + "\\" + "someFile" + i));
while(ent.)
System.out.println("**************************************************************");
System.out.println(i);
i++;
}
}
} catch (Exception ex) {
}
}
Итак, в верхнем коде, как я могу сохранить найденный файл (последний, если) в каталоге.