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

时间:2012-01-31 15:41:36

标签: java

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

3 个答案:

答案 0 :(得分:12)

由于您在使用 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());

    }

}

答案 1 :(得分:0)

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

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开发者预览版上测试了它。

答案 2 :(得分:0)

以下是使用编译器版本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()); 
    } 
}