3

我使用的 zip 文件中有 2 个文件:

while( (entry = zis.getNextEntry()) != null){
    if(entry.getName() == null ? gomrokcode != null : !entry.getName().equals(gomrokcode))
        maxversion=0;
    Scanner scanner = new Scanner(zis);
    while(scanner.hasNextLine()){
        line = scanner.nextLine();
    }
    scanner.close();
}
zis.close();

为了访问文件,我得到了第一个文件,然后当我返回到第二个文件的循环开始时,我得到了这个异常

    SEVERE: null
java.io.IOException: Stream closed
at java.util.zip.ZipInputStream.ensureOpen(ZipInputStream.java:66)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:115)

是什么原因?

4

1 回答 1

7

您使用 Scanner 包装您的zis流,当您关闭 Scanner 时,它将关闭zis流。因此例外。

如果您删除scanner.close()呼叫,我想迭代将继续进行。

于 2013-01-02T23:06:54.110 回答