Path compareTo() method in Java with Examples

25 May, 2021
The Java Path interface was added to Java NIO in Java 7. The Path interface is located in the java.nio.file package, so the fully qualified name of the Java Path interface is java.nio.file.Path. A Java Path instance represents a path in the file system. A path can use to locate either a file or a directory.path of an entity could be of two types one is an absolute path and the other is a relative path. The absolute path is the location address from the root to the entity while the relative path is the location address that is relative to some other path.compareTo(java.nio.file.Path) method of java.nio.file.Path used to compare two abstract paths lexicographically. Two paths can be compared by this method. The ordering of paths defined by this method is provider-specific, and in the case of the default provider, platform specific. This method returns zero if the argument is equal to this path, a value less than zero if this path is lexicographically less than the argument, or a value greater than zero if this path is lexicographically greater than the argument. This method does not access the file system. There is no need for a file is required to exist. This method may not be used to compare paths that are associated with different file system providers.Syntax:  
int compareTo(Path other)
Parameters: This method accepts a single parameter another path which is the path compared to this current path.Return value: This method returns zero if the argument is equal to this path, a value less than zero if this path is lexicographically less than the argument, or a value greater than zero if this path is lexicographically greater than the argument.Exception: This method throw and Exception ClassCastException if the paths are associated with different providers.Below programs illustrate compareTo(java.nio.file.Path) method: Program 1:  
Java
// 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
 
Program 2: 
Java
// 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) 
Kaustubh Deokar
Java-Functions
Java-Path
java.nio.file package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Introduction to Java
Constructors in Java
Exceptions in Java
Generics in Java
Java Programming Examples
Functional Interfaces in Java
Strings in Java
Differences between JDK, JRE and JVM
Abstraction in Java