当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。