Java获取文件扩展名

时间:2020-02-23 14:34:19  来源:igfitidea点击:

在本教程中,我们将看到如何在Java中获取文件的扩展。

作为 java.io.File不提供任何直接方法 extension文件。
当我们想要在其扩展的基础上以不同的方式处理文件时使用这一点。
我在一个项目上工作,我需要这个实用程序方法。

有两种简单的方法可以得到它。

使用简单的字符串处理程序

创建一个名为的简单java类 GetExtensionOfFileMain.java

package org.igi.theitroad;
 
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;
	}
}

运行上面的程序时,我们将获取以下输出:

countress的文件扩展名.xlsx是Captial.csv的XLSX文件扩展名为SRC/Main/Resources的CSV文件扩展名为

正如我们可以看到的,使用字符串 contains()lastIndexOf(),我们能够在Java中获取文件的扩展。

使用apache io.

我们需要下载APCAHE IO JAR并将其放入CLASSPATH。
在进行上述步骤之后,我们只需调用 FilenameUtils.getExtension()在Java中检索文件的扩展名。

package org.igi.theitroad;
 
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);
	}
	
	
}