【问题标题】:Ubuntu 11.10 file system does not implement creationTime?Ubuntu 11.10 文件系统没有实现creationTime?
【发布时间】:2013-04-30 10:23:53
【问题描述】:
来自javadoc 的以下引用。
FileTime creationTime() 返回创建时间。创作时间
是创建文件的时间。如果文件系统
实现不支持时间戳来指示时间
创建文件然后此方法返回一个实现
特定的默认值,通常是最后修改时间或 FileTime
代表时代(1970-01-01T00:00:00Z)。
返回:表示文件创建时间的 FileTime
我得到的是最后修改时间而不是创建时间。
是否有其他人拥有 ubuntu 11.10,确认实际上 Ubuntu 11.10 文件系统没有实现该功能?
提前致谢。
【问题讨论】:
标签:
java
filesystems
unix-timestamp
【解决方案1】:
这取决于文件系统,ext3 不存储创建时间。
Ext4 确实有一个字段“crtime”来保存这些信息。
自 9.10 以来,ext4 一直是 Ubuntu 中的默认文件系统,因此您可能拥有一个 ext4 文件系统。
编辑:
好的,显然在 Unix 文件系统上,您无法检索创建时间戳,您只需获取上次修改时间的副本。
在 UnixFileAttributes.java 中:
@Override
public FileTime creationTime() {
return lastModifiedTime();
}