Java Path compareTo()方法及示例
在Java 7中,Java Path接口 被添加到Java NIO中。Path接口位于java.nio.file包中,所以Java Path接口的全称是java.nio.file.Path。一个Java Path实例代表文件系统中的一个路径。路径可以用来定位一个文件或一个目录。实体的路径有两种类型,一种是绝对路径,另一种是相对路径。绝对路径是指从根到实体的位置地址,而相对路径是指相对于其他路径的位置地址。
compareTo(java.nio.file.Path) java.nio. file.Path的方法用于比较两个抽象路径的词义关系。两个路径可以通过这个方法进行比较。这个方法所定义的路径的排序是特定于提供者的,在默认提供者的情况下,是特定于平台的。如果参数等于该路径,该方法返回0;如果该路径在词典上比参数小,则返回小于0的值;如果该路径在词典上比参数大,则返回大于0的值。这个方法不访问文件系统。没有必要要求文件的存在。此方法不能用于比较与不同文件系统提供者相关的路径。
语法:
int compareTo(Path other)
参数: 该方法接受一个单一的参数另一个路径,它是与当前这个路径相比较的路径。
返回值: 如果参数等于这个路径,该方法返回0;如果这个路径在词典上比参数小,则返回小于0的值;如果这个路径在词典上比参数大,则返回大于0的值。
异常: 如果路径与不同的提供者相关,该方法会抛出异常 ClassCastException 。
以下程序说明了compareTo(java.nio.file.Path)方法:
程序1:
// Java program to demonstrate// Path.compareTo(Path) method import java.io.IOException;import java.nio.file.Path;import java.nio.file.Paths; public class GFG { public static void main(String[] args) throws IOException { // create object of Paths Path path1 = Paths.get("D:","eclipse","configuration","org.eclipse.update"); Path path2 = Paths.get("D:","eclipse","configuration","org.eclipse.update"); // compare paths int value = path1.compareTo(path2); // print result if (value == 0) System.out.println("Both are equal"); else if (value < 0) System.out.println("Path 2 is greater " + "than path 1"); else System.out.println("Path 1 is greater " + "than path 2"); }}输出
Both are equal
程序2
// Java program to demonstrate// Path.compareTo(Path) method import java.io.IOException;import java.nio.file.Path;import java.nio.file.Paths; public class GFG { public static void main(String[] args) throws IOException { // create object of Paths Path path1 = Paths.get("D:","eclipse","configuration","org.eclipse.update"); Path path2 = Paths.get("D:\\temp\\Spring"); // compare paths int value = path1.compareTo(path2); // print result if (value == 0) System.out.println("Both are equal"); else if (value < 0) System.out.println("Path 2 is greater " + "than path 1"); else System.out.println("Path 1 is greater " + "than path 2"); }}输出
Path 2 is greater than path 1
**References: ** https://docs.oracle.com/javase/10/docs/api/java/nio/file/Path.html#compareTo(java.nio.file.Path)
