# Path 的相關方法 ## resolve方法 ```java= 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); ``` **Console:** ```Console= \app\.\sys\log \readme ``` :::info Path物件的resolve方法類似Paths類別的get方法,可以產生新的Path物件。但與Paths類別的get方法不同的地方在於,Path物件的resolve方法會與目前的Path物件有關,resolve方法可傳入相對路徑或是絕對路徑。 ::: [參考網站](https://magiclen.org/ocpjp-path-resolve/) --- ```java= Path p1 = Paths.get("/Pics/MyPic.jpeg"); System.out.println (p1.getNameCount() + ":" + p1.getName(1) + ":" + p1.getFileName()); ``` ### Assume that the Pics directory does NOT exist. What is the result? A. An exception is thrown at run time. **B. 2:MyPic.jpeg: MyPic.jpeg** C. 1:Pics:/Pics/ MyPic.jpeg D. 2:Pics: MyPic.jpeg - [x] **Answer: B** :::info Path物件的getNameCount方法會計算路徑結構中檔案或是目錄名稱的數量,在這個題目中的路徑為「/Pics/MyPic.jpeg」,因此有「Pics」和「MyPic.jpeg」兩個名稱。 Path物件的getName方法會取得路徑結構中的檔案或是目錄名稱,索引值從0開始。 Path物件的getFileName方法會取得最後一個名稱。 因此這題不論檔案或是目錄存不存在,都會輸出: ``` 2:MyPic.jpeg:MyPic.jpeg ``` ::: [參考網站](https://magiclen.org/ocpjp-path/) ###### tags: `ocpjp`