4

我不知道如何使用类的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 访问所有属性,那么还有其他方法可以做到这一点。

4

2 回答 2

5

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

   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());
    }
于 2015-09-24T22:28:59.583 回答
4

这将起作用

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);
    }
}
于 2013-06-06T13:05:30.320 回答