使用Java保留文件创建时间



我在Java中写了一个小复制工具,以在我的USB棒上复制.mp3文件。复制新文件时,保留了某些文件属性,但不能保留创建时间。

复制我使用的文件:

org.apache.commons.io.fileutils静态void copyfile(文件srcfile,文件destfile,boolean preservefiledate)

fileutils.copyfile(sourcefile,newtargetfile,preservefiledate);

所以我的问题,有没有办法保留文件创建时间?如果没有,我认为我设置了一个与Windows Robocopy复制的课程。

如果您使用的是Java 7 ,则可以使用:

Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES);

如果不复制创建时间(它在我的计算机上确实如此),则也可以手动设置它:

Path source = ...;
Path target = ...;
Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES);
FileTime creationTime  = (FileTime) Files.readAttributes(source, "creationTime").get("creationTime");
Files.setAttribute(target, "creationTime", creationTime);

请看一下:http://docs.oracle.com/javase/javase/tutorial/essention/essent/io/fileattr.html#basic

可以获取和设置文件属性,例如创建时间。

最新更新