Java Program to Get the File Extension

To understand this example, you should have the knowledge of the following Java programming topics:


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