我想从一个非常大的zip压缩文件中获取一个特定的文件(我知道它的名称)。这个压缩文件包含约100000个文件,因为我不想在循环中查找我的文件。我认为必须有一些解决方案来解决这种情况,类似于Linux上的命令。
unzip archive.zip myfile.txt
我写了以下代码
try {
FileInputStream fin = new FileInputStream(rootDir+"/archive.zip");
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry ze = new ZipEntry("myfile.txt");
FileOutputStream fout = new FileOutputStream(rootDir+"/buff/" + ze.getName());
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
}
zin.closeEntry();
fout.close();
zin.close();
} catch(Exception e) {
Log.e("Decompress", "unzip", e);
}
这段代码在buff目录中创建了一个新文件,但是这个文件是空的!请帮我解决这个问题!谢谢您抽出时间帮助!