如何在不使用 ZipFile
类的情况下从 ZipInputStream
获取 ZipEntry
的 InputStream
?
最佳答案
它是这样工作的
static InputStream getInputStream(File zip, String entry) throws IOException {
ZipInputStream zin = new ZipInputStream(new FileInputStream(zip));
for (ZipEntry e; (e = zin.getNextEntry()) != null;) {
if (e.getName().equals(entry)) {
return zin;
}
}
throw new EOFException("Cannot find " + entry);
}
public static void main(String[] args) throws Exception {
InputStream in = getInputStream(new File("f:/1.zip"), "launch4j/LICENSE.txt");
Scanner sc = new Scanner(in);
while(sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
in.close();
}
关于java - 从 ZipInputStream 获取 ZipEntry 的 getInputStream(不使用 ZipFile 类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14603319/