Example 1: Java Program to get the file extension
import java.io.File;
class Main {
public static void main(String[] args) {
File file = new File("Test.java");
// convert the file name into string
String fileName = file.toString();
int index = fileName.lastIndexOf('.');
if(index > 0) {
String extension = fileName.substring(index + 1);
System.out.println("File extension is " + extension);
}
}
}
In the above example,
- file.toString() - Converts the
File
object into a string. - fileName.lastIndexOf('.') - Returns the last occurrence of character. Since all file extension starts with '.', we use the character '.'.
- fileName.substring() - Returns the string after character '.'.
Example 2: Get the file extension of all files present in a directory
Now, suppose we want to get the file extension of all the files present in a directory. We can use the above process in the loop.
import java.io.File;
class Main {
public static void main(String[] args) {
File directory = new File("Directory");
// list all files present in the directory
File[] files = directory.listFiles();
System.out.println("Files\t\t\tExtension");
for(File file : files) {
// convert the file name into string
String fileName = file.toString();
int index = fileName.lastIndexOf('.');
if(index > 0) {
String extension = fileName.substring(index + 1);
System.out.println(fileName + "\t" + extension);
}
}
}
}
Output
Files Extension Directory\file1.txt txt Directory\file2.svg svg Directory\file3.java java Directory\file4.py py Directory\file5.html html
Note: The output of the program depends on the directory you use and the files in the directory.
- If you are using the Gauva Library, you can directly use the
getFileExtension()
method to get the file extension. For example,String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
- And, also the Apache Commons IO provides the FilenameUtils class provides the getExtension method to get the extension of the file.
String extension = FilenameUtils.getExtension("file.py") // returns py