Home Java Beginners Determining if two Filename paths refer to the same file.
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Determining if two Filename paths refer to the same file.

Advertisement
This program is going to determine that the file name refers to the same file or not.

Determining if two Filename paths refer to the same file.

     

This program is going to determine that the file name refers to the same file or not. What you need to do is to create two File object and pass the file name in the constructor of both the File class. Now match both the file instances. It will return false if the file paths are not equal. To send the true value we first have to normalize both the paths, only after that  it will return true. 

In this program we have used following methods: 

equals():
This is the method of String class. It checks whether the pathname are equal or not. 

getCanonicalFile():
It denotes the same file or directory its abstract pathname. It throws IOException and SecurityException.

Code of the program is given below:

import java.io.*;

public class FileNameReferToSameFile{
public static void main(String args[]){
File file1 = new File("./filename.txt");
File file2 = new File("filename.txt");
System.out.println("Actual fileName1 = " + file1 + "\n");
System.out.println("Actual fileName2 = " + file2 + "\n");

// It returns false if Filename paths are not equal 
boolean b = file1.equals(file2); 
System.out.println("It checks whether the file name 

paths are equal or not" + b);



// Normalize the paths
try {
file1 = file1.getCanonicalFile(); // c:\tapan\filename
file2 = file2.getCanonicalFile(); // c:\tapan\filename
System.out.println("Actual path of filName1 = " + file1 + "\n");
System.out.println("Actual path of fileName2 = " + file2 + "\n");
} catch (IOException e) {
System.out.println("IOException is "+ e);
}

// It returns true if Filename paths are equal
b = file1.equals(file2); 
System.out.println("the file name are now equal" + b);
System.out.println("Actual path of fileName1 = " + file1 + "\n");
System.out.println("Actual path of fileName2 = " + file2 + "\n");
}
} 

Output of this program is given below:

C:\FileNameReferToSameFile>java FileNameReferToSameFile
Actual Filename1 = .\FileNameReferToSameFile.txt

Actual Filename2 = FileNameReferToSameFile.txt

It checks whether the file name are equal or notfalse
Actual Filename1 = C:\FileNameReferToSameFile\FileNameReferToSameFile.txt

Actual Filename2 = C:\FileNameReferToSameFile\FileNameReferToSameFile.txt

the file name are now equaltrue
Actual Filename1 = C:\FileNameReferToSameFile\FileNameReferToSameFile.txt

Actual Filename2 = C:\FileNameReferToSameFile\FileNameReferToSameFile.txt

Download this example:

Advertisements

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: June 7, 2007

Ask Questions?    Discuss: Determining if two Filename paths refer to the same file.   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
DMCA.com