在java中有没有一种方法可以设置访问时间而不设置日期修改时间呢?
这本质上是一个触摸-a命令。
文件中的setLastModified方法更新访问时间和修改日期。
我们目前使用的是java 6,迁移到7也不是不可能的。
发布于 2011-08-31 19:44:33
您可以在Java7中使用Files.setAttribute():
FileTime fileTime = FileTime.fromMillis(millis);
Files.setAttribute(path, "lastAccessTime", fileTime);字符串"lastAccessTime"可以在BasicFileAttributeView的描述中找到,它还提供了另一种设置此属性的方法(与Files.getFileAttributeView()一起):
Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, fileTime, null);我不知道有任何纯Java方式可以在Java6或更早版本中工作。
发布于 2011-08-31 19:47:44
我想打开文件上的输入流应该会修改它的访问时间。但是我不知道在Java6中有什么API可以直接修改这个属性。
发布于 2011-08-31 19:54:42
有一个私有的sun API可以检查文件的访问时间(How to prevent ShellFolder.getFolderColumns(...) from crashing a lot),但是从我发现的情况来看,无法设置它。尽管每次打开文件时都应该更新访问时间,因此可以尝试在Java中打开它。
您可以检查旧的JDIC项目是否具有以下选项:http://javadesktop.org/articles/jdic/index.html
或者这个库:http://www.teamdev.com/jxfilewatcher/
否则,您可能需要在控制台命令中查找您想要支持的操作系统,并从Java调用它。
https://stackoverflow.com/questions/7256354
复制相似问题