當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Path relativize()用法及代碼示例


java.nio.file.Path的relativize(其他路徑)方法,用於在此路徑和給定路徑之間創建相對路徑作為參數。
相對化是分辨率的逆向。此方法創建一個相對路徑,當針對該路徑對象解析該相對路徑時,將產生一個路徑,該路徑可幫助我們查找與給定路徑相同的文件。

例如,如果此路徑為“/dir1/dir2”,並且給定路徑作為參數為“/dir1/dir2/dir3/file1”,則此方法將構造相對路徑“dir3/file1”。如果此路徑和給定路徑沒有根組件,則可以構造相對路徑。

如果任何路徑具有根組件,則無法構造相對路徑。當兩個路徑都具有根成分時,如果可以構造相對路徑,則為implementation-dependent。如果此路徑與給定路徑相等,則返回空路徑。


用法:

Path relativize(Path other)

參數:此方法接受一個參數other,這是相對於該路徑相對論的路徑。

返回值:此方法返回所得的相對路徑,如果兩個路徑相等,則返回空路徑。

異常:如果other不是可以相對於此路徑相對的路徑,則此方法將引發IllegalArgumentException。

以下示例程序旨在說明relativize()方法:
示例1:

// Java program to demonstrate 
// java.nio.file.Path.relativize() method 
  
import java.nio.file.Path; 
import java.nio.file.Paths; 
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create objects of Path 
        Path path 
            = Paths.get("D:\\eclipse\\p2"
                        + "\\org\\eclipse"); 
        Path passedPath 
            = Paths.get("D:\\eclipse\\p2"
                        + "\\org\\eclipse\\equinox\\p2\\core"
                        + "\\cache\\binary"); 
  
        // print paths 
        System.out.println("This Path:"
                           + path); 
        System.out.println("Given Path:"
                           + passedPath); 
  
        // call relativize() to create 
        // a relative path 
        Path relativize 
            = path.relativize(passedPath); 
  
        // print result 
        System.out.println("Relative Path: "
                           + relativize); 
    } 
}
輸出:

示例2:

// Java program to demonstrate 
// java.nio.file.Path.relativize() method 
  
import java.nio.file.Path; 
import java.nio.file.Paths; 
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create objects of Path 
        Path path 
            = Paths.get("\\nEclipseWork"); 
        Path passedPath 
            = Paths.get("\\nEclipseWork\\GFG"
                        + "\\bin\\defaultpackage"); 
  
        // print paths 
        System.out.println("This Path:"
                           + path); 
        System.out.println("Given Path:"
                           + passedPath); 
  
        // call relativize() 
        // to create a relative path 
        Path relativize 
            = path.relativize(passedPath); 
  
        // print result 
        System.out.println("Relative Path: "
                           + relativize); 
    } 
}
輸出:

參考文獻: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Path.html#relativize(java.nio.file.Path)



相關用法


注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 Path relativize() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。