我正在尝试使用ZipInputStream来读取Zip归档文件。我循环遍历所有条目,没有出现类似这样的问题:
try {
while((ze = zis.getNextEntry()) != null) {
Log.v(this.toString(), "Name = " + name);
}
} catch (IOException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
Log.e(this.toString(), "IOException in creating ZipEntry.");
} 当我尝试使用zis变量以相同的方式读取另一个函数中的相同zip文件时,行ze = zis.getNextEntry()返回null。这是可以理解的,因为已经到达了流的尽头。
我的问题是:
ZipInputStream并使用它之外,还需要再次读取zip文件吗?发布于 2013-07-25 13:42:27
无法在Java中倒带ZipInputStream。
唯一的选择是重构代码,使其只需读取一次流。这很可能对您有利(取决于您的情况),因为它不需要多次解压缩数据。
也许您可以将数据解压缩到临时缓存目录。
https://stackoverflow.com/questions/17859331
复制相似问题