Java - 在保留所有文件属性的同时复制JPG

use*_*026 2 java jpeg copy

在保持其所有属性(创建日期,日期等)的同时移动/复制文件的最佳方法是什么?

谢谢

awm*_*oss 10

如果您使用的是Java 7,请使用 java.nio.file.Files.copy(Path source, Path target, CopyOption... options)

使用COPY_ATTRIBUTES选项维护上次修改时间:

COPY_ATTRIBUTES尝试将与此文件关联的文件属性复制到目标文件.复制的确切文件属性是平台和文件系统相关的,因此未指定.最小化,如果源文件存储和目标文件存储都支持,则将最后修改时间复制到目标文件.复制文件时间戳可能会导致精度损失.

强调补充说

对于Java 6及更早版本,Apache commons具有复制文件的功能

    org.apache.commons.io.FileUtils.copyFile(File srcFile, File destFile,
boolean preserveFileDate)
Run Code Online (Sandbox Code Playgroud)

请注意评论

将preserveFileDate设置为true会尝试使用File.setLastModified(long)保留文件的上次修改日期/时间,但不能保证操作成功.如果修改操作失败,则不提供指示.

这只会尝试保留修改日期,而不是其他文件属性.

否则,您将不得不使用Runtime.exec或类似的东西来运行外部进程.

  • 除了lastModified日期 (2认同)