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

时间:2011-10-04 05:05:35

标签: java copy jpeg

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

谢谢

1 个答案:

答案 0 :(得分:10)

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

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

  

COPY_ATTRIBUTES   尝试将与此文件关联的文件属性复制到   目标文件。复制的确切文件属性是platform和   文件系统依赖,因此未指定。 最小的,   如果两者都支持,则将last-modified-time复制到目标文件   源文件和目标文件存储。复制文件时间戳可能   导致精度损失。

强调添加

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

    org.apache.commons.io.FileUtils.copyFile(File srcFile, File destFile,
boolean preserveFileDate)

注意评论

  

将preserveFileDate设置为true会尝试保留文件的最后一个   使用File.setLastModified(long)修改日期/时间,但它是   不保证操作会成功。如果修改   操作失败,没有提供任何指示。

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

否则,您必须使用Runtime.exec或类似的东西来运行外部进程。