是否有可能在JDK7中执行等效的‘find.unix n’( -ctime命令)?例如,根据上次更改的时间查找所有文件?我看过新的FileVisitor/BasicFileAttributes/SimpleFileVisitor类,但我看不出它是如何实现的。
发布于 2011-05-21 20:55:52
以下方法适用于我(使用Files.walkFileTree和FileVisitor):
FileTime ctime = (FileTime) Files.getAttribute(路径,"unix:ctime");
发布于 2011-05-21 21:36:53
在JDK7论坛上有关于这个主题的discussion opened
它基本上是这样说的:
来自creationTime的描述的
“如果文件系统实现不支持指示创建文件的时间的时间戳,则此方法返回特定于实现的默认值,通常是最后修改时间或表示纪元(1970-01-01T00:00:00Z)的FileTime”。因此,您观察到的行为是意料之中的。如果您确实需要,可以使用Files.getAttribute(path,"unix:ctime")查看上次状态更改的时间。
所以,你自己的答案似乎是正确的。
发布于 2011-05-20 21:55:40
您可以通过在文件属性对象上调用getCreationTime()来获取文件的创建时间。您可以使用Files.walkFileTree和FileVisitor执行目录树遍历。把这些放在一起,你就可以实现find . -ctime n了。
https://stackoverflow.com/questions/6072427
复制相似问题