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)
相關用法
- Java Path hashCode()用法及代碼示例
- Java Path getFileSystem()用法及代碼示例
- Java Path getParent()用法及代碼示例
- Java Path toUri()用法及代碼示例
- Java Path compareTo()用法及代碼示例
- Java Path normalize()用法及代碼示例
- Java Path getName(int)用法及代碼示例
- Java Path isAbsolute()用法及代碼示例
- Java Path getRoot()用法及代碼示例
- Java Path toString()用法及代碼示例
- Java Path equals()用法及代碼示例
- Java Path toAbsolutePath()用法及代碼示例
- Java Path toFile()用法及代碼示例
- Java Path subpath()用法及代碼示例
- Java Path getFileName()用法及代碼示例
注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 Path relativize() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。