如何创建存在许多文件和文件夹的文件夹的zip文件夹?

时间:2014-01-27 04:36:11

标签: java file-io zipfile

我使用下面的代码创建zip文件夹。我的zip文件夹已创建,但是当我们解压缩此zip文件夹时,会抛出一些错误: - 找不到存档。

try {
        File inFolder = new File("D:\\zextra\\ab");
        File outFolder = new File("D:\\zextra\\ab.zip");
        ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFolder)));
        BufferedInputStream in = null;
        byte[] data = new byte[1000];
        String files[] = inFolder.list();

        for (int i = 0; i < files.length; i++) {
            in = new BufferedInputStream(new FileInputStream(inFolder.getPath() + "/" + files[i]), 1000);
            out.putNextEntry(new ZipEntry(files[i]));
            int count;
            while ((count = in.read(data, 0, 1000)) != -1) {
                out.write(data, 0, count);
            }
            out.closeEntry();
        }

        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

我认为你也应该关闭FileOutputStream。 ZipOutputStream关闭可能还不够。

参见例如http://www.journaldev.com/957/java-zip-example-to-zip-single-file-and-a-directory-recursively

他们使用fos.close();