我有一个代码片段,理论上应该在将文件写入存档时首先读取存档的路径。 (但是那个东西需要拉链,例如一些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);
}
}
}
答案 0 :(得分:0)
要在添加条目后正确使用ZipOutputStream,您需要刷新zip。 尝试在方法的endo中添加以下内容:
zipOut.flush();