java中有沒有設置訪問時間而不設置日期修改時間的方法?Java設置文件訪問日期
這實際上是一個觸摸-a命令。
File中的setLastModified方法更新訪問時間以及修改日期。
我們目前正在使用java 6.轉移到7不會出問題。
java中有沒有設置訪問時間而不設置日期修改時間的方法?Java設置文件訪問日期
這實際上是一個觸摸-a命令。
File中的setLastModified方法更新訪問時間以及修改日期。
我們目前正在使用java 6.轉移到7不會出問題。
可以使用Files.setAttribute()
從Java 7:
FileTime fileTime = FileTime.fromMillis(millis);
Files.setAttribute(path, "lastAccessTime", fileTime);
字符串"lastAccessTime"
可以在BasicFileAttributeView
,這也提供了一個替代的方式來設置該屬性(與Files.getFileAttributeView()
一起)的描述中找到:
Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, fileTime, null);
我不知道任何在Java 6或更早版本中工作的純Java方式。
我想在文件上打開一個輸入流應該修改它的訪問時間。但我不知道任何API在Java 6中直接修改此屬性。
有一個私人太陽API來檢查文件(How to prevent ShellFolder.getFolderColumns(...) from crashing a lot)上的訪問時間,但沒有辦法從我已經找到。雖然訪問時間應該在每次打開文件時更新,所以也許嘗試用Java打開它。
您可以檢查舊JDIC項目有以下選項:http://javadesktop.org/articles/jdic/index.html
或者這個庫:http://www.teamdev.com/jxfilewatcher/
否則,你可能要查找控制檯命令要支持和調用OS的Java的。