我找到了如何在 Java 中为特定文件设置最后修改时间的解决方案(Android:如何获取和设置目录修改日期)。
有没有办法在Java中为特定文件设置创建日期和时间?
我找到了如何在 Java 中为特定文件设置最后修改时间的解决方案(Android:如何获取和设置目录修改日期)。
有没有办法在Java中为特定文件设置创建日期和时间?
完全相同的方式。Date 包含时间的瞬间,精度为毫秒。只需更改用于解析日期的格式。阅读文档。
在 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);
这不适用于使用 HFS 文件系统的 UNIX 变体 OSX 的 MAC。
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