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
/readme/server/exe
B.
/app/log/sys
/server/exe/readme
/server/exe/readme
C.
/app/./sys/log
/readme
/readme
D.
/app/./sys/log
/server/exe/readme
/server/exe/readme
題解
Path物件的resolve方法類似Paths類別的get方法,可以產生新的Path物件。但與Paths類別的get方法不同的地方在於,Path物件的resolve方法會與目前的Path物件有關,resolve方法可傳入相對路徑或是絕對路徑。
程式第13行,為相對路徑的使用方式,路徑會在「/app/./sys」之後加上一層「log」,變成「/app/./sys/log」
程式第15行,為絕對路徑的使用方式,路徑為「/readme」。
所以答案是選項C。