如何使用readAttributes方法?

时间:2013-06-06 02:20:34

标签: java

我不知道如何使用readAttributes类的Files方法来一次访问所有文件属性。我的问题是我想要批量打印所有属性,而不需要调用方法。

我不想逐个调用方法,如下所示:

Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

System.out.println("creationTime: " + attr.creationTime());
System.out.println("lastAccessTime: " + attr.lastAccessTime());
System.out.println("lastModifiedTime: " + attr.lastModifiedTime());

System.out.println("isDirectory: " + attr.isDirectory());
System.out.println("isOther: " + attr.isOther());
System.out.println("isRegularFile: " + attr.isRegularFile());
System.out.println("isSymbolicLink: " + attr.isSymbolicLink());
System.out.println("size: " + attr.size());

我想立即访问所有BasicFileAttribute。 如果我们不能同时使用readAttributes访问所有属性,那么还有其他方法可以做到这一点。

2 个答案:

答案 0 :(得分:2)

这将有效

import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.io.*;
import java.util.Map;

import static java.nio.file.StandardCopyOption.*;

public class ListOfNumbers {

    public static void main(String[] args) throws IOException {
        Path path = Paths.get("C:\\Documents and Settings\\Administrator\\Desktop\\kk.txt");
        Map f  = Files.readAttributes(path, "*");
        System.out.println(f);
    }
}

答案 1 :(得分:1)

这是如何使用类BasicFileAttributes类的readAttributes()方法的另一个示例:

   Path path = Paths.get("C:\\Users\\jorgesys\\workspaceJava\\myfile.txt");
    BasicFileAttributes attr;
    try {
     attr = Files.readAttributes(path, BasicFileAttributes.class);
     System.out.println("Creation time: " + attr.creationTime());
     System.out.println("Last access time: " + attr.lastAccessTime());
     System.out.println("Last modified time: " + attr.lastModifiedTime());
    } catch (IOException e) {
     System.out.println("oops un error! " + e.getMessage());
    }