如何确定Java for Linux / unix文件系统中的文件创建时间戳

时间:2018-11-21 11:18:24

标签: java linux file

我尝试使用以下代码来获取linux系统中文件的文件创建时间。但是,它没有给出创建时间,而是给出了最后的修改时间。 请帮助我获取Java for Linux文件系统中文件的创建时间。

File f=new File("/var/fileName.csv");
Path p = f.toPath();
BasicFileAttributes attr = Files.readAttributes(p, BasicFileAttributes.class);

System.out.println("creationTime: " + attr.creationTime().toInstant().atZone(ZoneId.systemDefault()));

提前谢谢!

1 个答案:

答案 0 :(得分:1)

阅读Javadoc显示以下内容:

  

FileTime creationTime()

     

返回创建时间。创建时间是创建文件的时间。

     

如果文件系统实现不支持时间戳来指示创建文件的时间,则此方法返回特定于实现的默认值,通常是上次修改时间或代表时期的FileTime(1970-01 -01T00:00:00Z)。

所以看来这是您所使用的文件系统以及相应的文件系统实现存在的问题。