如何使用readattributes方法?

mfuanj7w  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(235)

我不知道怎么用 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());

我想一次访问所有基本文件属性。如果我们不能使用readattributes一次访问所有属性,那么还有其他方法可以做到这一点。

q35jwt9p

q35jwt9p1#

这会奏效的

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);
    }
}
ffscu2ro

ffscu2ro2#

这是如何使用的另一个示例 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());
    }

相关问题