我找到了解决方案如何在Java中为特定文件(Android: How to get & set directory modification date)设置上次修改时间。
是否有办法在Java中为特定文件设置创建日期和时间?
答案 0 :(得分:3)
完全相同的方式。日期包含时间瞬间,精度为毫秒。只需更改用于解析日期的格式。请阅读the documentation。
答案 1 :(得分:2)
在java 7中,可以使用以下代码将创建时间设置为目录或文件:
//date which is used as date of creation
Date creationDate;
//path to directory of file to which to set creation time
Path somePath;
...
FileTime time = FileTime.fromMillis(creationDate.getTime());
Files.setAttribute(somePath, "creationTime", time);
答案 2 :(得分:0)
对于使用HFS文件系统的UNIX变种的OSX,这不起作用。
import java.io.*;
import java.util.*;
import java.nio.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
import static java.nio.file.LinkOption.NOFOLLOW_LINKS;
class changetime{
public static void main(String args[]){
Path p = Paths.get("./test.txt");
System.out.println(p);
try {
Calendar c = Calendar.getInstance();
c.set(2010, Calendar.MARCH, 20);
Files.setAttribute(p, "basic:creationTime", FileTime.fromMillis(c.getTimeInMillis()), NOFOLLOW_LINKS);
} catch (IOException e) {
System.err.println("Cannot change the creation time. " + e);
}
}//END Main
}//END Class