Given the code fragment:
Stream<Path> files = Files.walk(Paths.get(System.getProperty("user.home")));
files.forEach(fName -> { //line n1
try {
Path aPath = fName.toAbsolutePath(); //line n2
System.out.println(fName + ":"
+ Files.readAttributes(aPath, BasicFileAttributes.class).creationTime());
} catch (IOException ex) {
ex.printStackTrace();
}
});
What is the result?
A. All files and directories under the home directory are listed along with their attributes.
B. A compilation error occurs at line n1.
C. The files in the home directory are listed along with their attributes.
D. A compilation error occurs at line n2.
題解
「System.getProperty("user.home")」會取得使用者的家目錄路徑。Paths類別的get方法可以傳入路徑字串物件或是URI物件來產生Path物件。Files類別的walk方法可以產生串流物件,以深度優先走訪傳入的Path物件所代表的檔案目錄。
所以選項A是正確答案。