Java中是否有一种方法可以在添加到zip存档时保留文件的Created和Accessed属性?

时间:2011-02-28 18:28:02

标签: java archive zipoutputstream

我可以处理Modified(lastModified)属性,这意味着在档案中我可以保留文件的Modified属性。
这是一个示例:

ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream( new FileOutputStream(outFilename)));
File f = new File(filename);
long longLastMod = f.lastModified();
FileInputStream in = new FileInputStream(filename);
// Add ZIP entry to output stream.
ZipEntry ze = new ZipEntry(filename);
ze.setTime(longLastMod);  // the "magic" to store the Modified date/time of the file
out.putNextEntry( ze );
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
    out.write(buf, 0, len);
}
out.closeEntry();
in.close();
out.close();

现在,输出Z​​ip文件将保留Modified属性,但不会保留Created或Accessed属性。 有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

  

有没有办法实现这个目标?

不,这是不可能的。简单地说:zip目录不支持属性。

然而,您可以使用setExtra(byte[])并存储您需要的任何信息。不幸的是,您需要一个自定义提取器来保留属性。

希望这有帮助!