Java Program to Get the File Extension

In this example, we will learn to get the file extension in Java.

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
Did you find this article helpful?