使用jdk1.7获取java文件的最后访问时间的示例

朋友请帮忙。 我知道使用jdk1.7我们可以得到文件的最后访问时间。 任何人都可以提供代码示例来获取文件的最后访问时间吗?

由于您在使用jdk1.7的问题中提到过,您应该查看方法lastAccessTime()上的BasicFileAttributes接口。 我不确定你的真正问题是什么,但如果你的意思是想要一个使用jdk7读取文件最后访问时间的代码示例,请看下面的内容。

 import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.Files; /** * compile using jdk1.7 * */ public class ReadFileLastAccess { /** * @param args */ public static void main(String[] args) throws Exception { Path file_dir = Paths.get("/home/user/"); Path file = file_dir.resolve("testfile.txt"); BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("Last accessed at:" + attrs.lastAccessTime()); } } 

这是一个返回上次访问时间的简单代码片段:

 public Date getLastAccessTime(String filePath) throws IOException { File f = new File(filePath); BasicFileAttributes basicFileAttributes = Files.getFileAttributeView(f.toPath(), BasicFileAttributeView.class).readAttributes(); Date accessTime = new Date(basicFileAttributes.lastAccessTime().toMillis()); return accessTime; } 

我在MacOS X上的JDK 1.7.0 Developer Preview上测试过它。

以下是使用编译器版本1.7(Java 7)的类似示例

 import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; class E { public static void main(String[] args) throws Exception { // On Dos (Windows) File system path Path p = Paths.get( "C:\\a\\b\\Log.txt"); BasicFileAttributes bfa = Files.readAttributes(p, BasicFileAttributes.class); System.out.println(bfa.lastModifiedTime()); } }