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