为什么我的文件没有读取到zip存档

时间:2017-05-17 16:06:54

标签: java file-io zip

我有一个代码片段,理论上应该在将文件写入存档时首先读取存档的路径。 (但是那个东西需要拉链,例如一些txt文件,真的把它移到zip,但文件是空的)首先,我认为这件事不起作用,因为我没有关闭流,但现在我使用try-with,所以问题应该消失,但事实并非如此。

 public void createZip(Path source) throws Exception
    {
        try(ZipInputStream zipIn = new ZipInputStream(Files.newInputStream(source));
        ZipOutputStream zipOut = new ZipOutputStream(Files.newOutputStream(zipFile)))
        {
            ZipEntry zipEntry = new ZipEntry(source.getFileName().toString());
            zipOut.putNextEntry(zipEntry);

            int data;

            while((data = zipIn.read()) > 0)
            {
                zipOut.write(data);
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

要在添加条目后正确使用ZipOutputStream,您需要刷新zip。 尝试在方法的endo中添加以下内容:

zipOut.flush();