[wp-night-mode-button]

Java get file extension

In this post, we will see how to get extension of file in java.

As java.io.File does not provide any direct method for getting extension of file. This is used when you want to process file differently on the basis of its extension. I have worked on a project where I required this utility method.

There are two simple way to get it.

[toc]

Using simple String handling program

Create a simple java class named GetExtensionOfFileMain.java

package org.arpit.java2blog;

import java.io.File;

public class GetExtensionOfFileMain {

    public static void main(String[] args)
    {
        ClassLoader classLoader = GetExtensionOfFileMain.class.getClassLoader();

        File xlsxFile=new File(classLoader.getResource("Countries.xlsx").getFile());
        String fileExtension=getExtensionOfFile(xlsxFile);
        System.out.println("File extension for Countries.xlsx is "+ fileExtension);

        File csvFile=new File(classLoader.getResource("Capital.csv").getFile());;
        String fileExtensionCSV=getExtensionOfFile(csvFile);
        System.out.println("File extension for Captial.csv is "+fileExtensionCSV);

        File folder=new File("src/main/resources");
        String fileExtensionFolder=getExtensionOfFile(folder);
        System.out.println("File extension for src/main/resources is "+fileExtensionFolder);
    }

    public static String getExtensionOfFile(File file)
    {
        String fileExtension="";
        // Get file Name first
        String fileName=file.getName();

        // If fileName do not contain "." or starts with "." then it is not a valid file
        if(fileName.contains(".") && fileName.lastIndexOf(".")!= 0)
        {
            fileExtension=fileName.substring(fileName.lastIndexOf(".")+1);
        }

        return fileExtension;
    }
}

When you run above program, you will get following output:

File extension for Countries.xlsx is xlsx
File extension for Captial.csv is csv
File extension for src/main/resources is

As you can see, by using [String’s contains()](https://java2blog.com/java-string-contains-ignorecase/ “String’s contains()”) and [lastIndexOf()](https://java2blog.com/java-string-lastindexof-example/ “lastIndexOf()”), we are able to get extension of file in java.

Using Apache io

You need to download Apcahe io jar and put it to the classpath.
After doing above steps, you just need to call FilenameUtils.getExtension() to retrieve extension of file in java.

package org.arpit.java2blog;

import java.io.File;

import org.apache.commons.io.FilenameUtils;

public class GetFileExtensionApache {

    public static void main(String[] args)
    {
        ClassLoader classLoader = GetFileExtensionApache.class.getClassLoader();

        File xlsxFile=new File(classLoader.getResource("Countries.xlsx").getFile());
        String fileExtension=FilenameUtils.getExtension(xlsxFile.getName());
        System.out.println("File extension for Countries.xlsx is "+ fileExtension);

        File csvFile=new File(classLoader.getResource("Capital.csv").getFile());;
        String fileExtensionCSV=FilenameUtils.getExtension(csvFile.getName());
        System.out.println("File extension for Captial.csv is "+fileExtensionCSV);

        File folder=new File("src/main/resources");
        String fileExtensionFolder=FilenameUtils.getExtension(folder.getName());
        System.out.println("File extension for src/main/resources is "+fileExtensionFolder);
    }

}

When you run above program, you will get foloowing output:

File extension for Countries.xlsx is xlsx
File extension for Captial.csv is csv
File extension for src/main/resources is

That’s all about java get file extension.

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.