使用本地文件夹时出现Java EOFException

时间:2019-05-24 11:24:39

标签: java android zip eofexception

我正在尝试使用this answer中的示例解压缩.zip文件夹,其摘录如下。

public static void unzip(File zipFile, File targetDirectory) throws IOException {
    ZipInputStream zis = new ZipInputStream(
            new BufferedInputStream(new FileInputStream(zipFile)));
    try {
        ZipEntry ze;
        int count;
        byte[] buffer = new byte[8192];
        while ((ze = zis.getNextEntry()) != null) {
            File file = new File(targetDirectory, ze.getName());
            File dir = ze.isDirectory() ? file : file.getParentFile();
        }
    } finally {
        zis.close();
    }
}

但是,当我从MainActivity类发出呼叫时,就像这样

File file = new File(context.getFilesDir() + "/ACPLUS.ZIP");
File targetDir = new File(context.getFilesDir() + "/DATA");

if (!targetDir.exists()) {
    targetDir.mkdirs();
}

if (file.exists()) {
    try {
        ZIPHandler.unzip(file, targetDir);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

到达行时出现错误

while ((ze = zis.getNextEntry()) != null) {

我得到的错误是

  

java.io.EOFException

我找不到有关此问题的更多详细信息。

我的代码有问题吗?

0 个答案:

没有答案