Given the code fragment:



Path path1 = Paths.get("/app/./sys/");
Path res1 = path1.resolve("log");
Path path2 = Paths.get("/server/exe/");
Path res2 = path2.resolve("/readme/");
System.out.println(res1);
System.out.println(res2);

What is the result?

A.

/app/sys/log
/readme/server/exe

B.

/app/log/sys
/server/exe/readme

C.

/app/./sys/log
/readme

D.

/app/./sys/log
/server/exe/readme

題解

Path物件的resolve方法類似Paths類別的get方法,可以產生新的Path物件。但與Paths類別的get方法不同的地方在於,Path物件的resolve方法會與目前的Path物件有關,resolve方法可傳入相對路徑或是絕對路徑。

程式第13行,為相對路徑的使用方式,路徑會在「/app/./sys」之後加上一層「log」,變成「/app/./sys/log」

程式第15行,為絕對路徑的使用方式,路徑為「/readme」。

所以答案是選項C。