如何在 Java 中将文件属性从一个文件复制到另一个文件?

How to copy file attributes from one file to another in Java?

如何在 Java 中将文件属性(创建时间、修改时间等)从一个文件复制到另一个文件,并且只复制属性? (不是文件本身)

类似于 touch -r file1 file2,这就是我最终远程调用它的方式 (Runtime.getRuntime().exec("touch -r file1 file2")),但是以 Java 方式(并且可能与系统无关)。

我看到了一些关于复制 mp3/mp4 属性的其他帖子,但就我而言,我对文件属性感兴趣(没有实际复制文件,只复制它的属性)。

'new'(此时已有 10 多年的历史)Files API 确实具有通用属性(例如 'last modified',所有 filesystems/OSes 倾向于具有),以及特定属性(例如 posix 的属性,包括 owner/group),以可插入的方式。

您至少可以使用这些 API 来复制通用属性以及 posix-特殊属性,并且鉴于您提到的 touch -r,这可能就是您所需要的。

Files API。特别检查 readAttributessetAttributeset/getPosixFilePermissions.