
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - File equals(Object obj) method
Description
The Java File equals(Object obj) method tests this abstract pathname for equality with the object as argument. Whether the two abstract pathnames are either equal or not depends on the operating system.
Declaration
Following is the declaration for java.io.File.equals(Object obj) method −
public boolean equals(Object obj)
Parameters
obj − The object to be compared to the abstract pathname
Return Value
The method returns true, if and only if the objects are the same; else false.
Exception
NA
Example - Usage of File equals(Object obj) method
The following example shows the usage of Java File equals(Object obj) method. We've created two File references. Then we're creating these File Objects using test.txt and test1.txt file. Using equals() method, we're comparing the paths of the same file lexicographically and printing the result. Then we're comparing two different files and printing the result.
FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; File f1 = null; boolean bool = false; try { // create new files f = new File("test.txt"); f1 = new File("test1.txt"); // returns result bool = f.equals(f); // prints System.out.println("Equal: "+bool); } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result assuming that we're having a test.txt and test1.txt file at the given location.
Equal: true
Example - Usage of File equals(Object obj) method
The following example shows the usage of Java File equals(Object obj) method. We've created two File references. Then we're creating these File Objects using test.txt and test1.txt file. Using equals() method, we're comparing two different files and printing the result.
FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; File f1 = null; boolean bool = false; try { // create new files f = new File("test.txt"); f1 = new File("test1.txt"); // returns result bool = f.equals(f1); // prints System.out.println("Equal: "+bool); } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result assuming that we're having a test.txt and test1.txt file at the given location.
Equal: false
Example - Usage of File equals(Object obj) method
FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { // Creating two File objects pointing to the same file File file1 = new File("example.txt"); File file2 = new File("example.txt"); // Creating another File object pointing to a different file File file3 = new File("anotherFile.txt"); // Comparing file1 and file2 (same file path) System.out.println("file1 equals file2: " + file1.equals(file2)); // true // Comparing file1 and file3 (different file path) System.out.println("file1 equals file3: " + file1.equals(file3)); // false } }
Output
Let us compile and run the above program, this will produce the following result −
file1 equals file2: true file1 equals file3: false
Explanation
Creating File Objects− file1 and file2 both refer to "example.txt", meaning they represent the same file path.file3 refers to "anotherFile.txt", which is a different file.
Using equals(Object o)−file1.equals(file2) returns true because both objects represent the same file path.file1.equals(file3) returns false because they point to different file paths.
Key Points
The equals() method in the File class checks whether the absolute file paths are the same, not whether the files actually exist.
It does not compare file contents, only the file path.
-
Case sensitivity depends on the operating system−
Windows (case-insensitive): "C:\\file.txt" is equal to "c:\\FILE.TXT"
Linux/macOS (case-sensitive): "file.txt" is not equal to "FILE.TXT"