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)