首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java在文件上设置访问日期

Java在文件上设置访问日期
EN

Stack Overflow用户
提问于 2011-08-31 19:35:34
回答 3查看 2.8K关注 0票数 3

在java中有没有一种方法可以设置访问时间而不设置日期修改时间呢?

这本质上是一个触摸-a命令。

文件中的setLastModified方法更新访问时间和修改日期。

我们目前使用的是java 6,迁移到7也不是不可能的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-31 19:44:33

您可以在Java7中使用Files.setAttribute()

代码语言:javascript
运行
复制
FileTime fileTime = FileTime.fromMillis(millis);
Files.setAttribute(path, "lastAccessTime", fileTime);

字符串"lastAccessTime"可以在BasicFileAttributeView的描述中找到,它还提供了另一种设置此属性的方法(与Files.getFileAttributeView()一起):

代码语言:javascript
运行
复制
Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, fileTime, null);

我不知道有任何纯Java方式可以在Java6或更早版本中工作。

票数 5
EN

Stack Overflow用户

发布于 2011-08-31 19:47:44

我想打开文件上的输入流应该会修改它的访问时间。但是我不知道在Java6中有什么API可以直接修改这个属性。

票数 1
EN

Stack Overflow用户

发布于 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调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7256354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档