首页 > 解决方案 > 如何避免更改存档内文件的文件属性?

问题描述

我正在尝试谨慎地修改存档的 Java 修改日期,但我在隐藏我的曲目时遇到了问题(特别是在 7-Zip 中)。问题不在于更改日期 - 它有效,但存档中的每个文件也会更新。

存档中的每个文件都会获得1969-12-31 16:59的新访问和创建时间戳,尽管从未对其进行更新。在更改存档的修改日期之前,这些文件没有访问和创建时间戳 - 它们只是空白文本。

我怎样才能去掉这个时间戳的文件,或者没有这个设置开始?

这是我更改档案修改日期的代码:

    Path zipFilePath = Paths.get("C:\\Users\\Test\\test.zip");
    BasicFileAttributes zipFileAttr = Files.readAttributes(zipFilePath, BasicFileAttributes.class);

    Files.getFileAttributeView(zipFilePath, BasicFileAttributeView.class)
            .setTimes(zipFileAttr.lastModifiedTime(), zipFileAttr.lastAccessTime(), zipFileAttr.creationTime());

这是 7-Zip 的屏幕截图,以帮助说明我的问题。

这是 7-Zip 的屏幕截图,以帮助说明我的问题。

如果除了 NIO 之外还有另一个 Java (8) API 来修改文件属性来避免这个问题,我会全力以赴。

标签: javadateattributes7zip

解决方案


推荐阅读