我在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
可以获取和设置文件属性,例如创建时间。