我不需要上次修改时间而不是上次文件访问时间,但文件创建时间.我还没有找到有关此信息.也许一些libs?
Path p = Paths.get(f.getAbsoluteFile().toURI());
BasicFileAttributes view = null;
try {
view = Files.getFileAttributeView(p,
BasicFileAttributeView.class).readAttributes();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileTime creationTime = view.creationTime();
Run Code Online (Sandbox Code Playgroud)
在此代码创建时间无效并返回今天日期.
操作系统:Windows 7 Java:SE-1.7
Eli*_*man 10
正如yshavit所说,并非所有操作系统都记录创建的日期.但是,您应该能够java.nio.file在具有此功能的操作系统上确定此信息 - 请参阅文档files.getAttribute- 注意BasicFileAttributeView有一个字段creationTime.
您可以使用它FileSystems.getDefault();来确定FileAttributeView当前操作系统支持的内容.
Files.getAttribute(path, "basic:createdAt");将返回一个FileTime对象,其中包含在支持的系统上创建文件的日期BasicFileAttributeView.你必须将它转换为一个java.util.Date对象,但我会让你自己解决这个问题.
getAttribute() BasicFileAttributeView readAttributes()如何Java使用BasicFileAttributes类获取文件的创建日期,这是一个示例:
Path path = Paths.get("C:\\Users\\jorgesys\\workspaceJava\\myfile.txt");
BasicFileAttributes attr;
try {
attr = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println("Creation date: " + attr.creationTime());
} catch (IOException e) {
System.out.println("oops error! " + e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)