java.io.File
不提供任何直接获取extension
文件的方法。当您想根据其扩展名以不同方式处理文件时使用此选项。我从事过一个需要这种实用方法的项目。有两种简单的方法来获得它。
使用简单的字符串处理程序
创建一个简单的 java 类,命名为GetExtensionOfFileMain.java
package org.arpit.code8cn;
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;
}
}
当你运行上面的程序时,你会得到以下输出:
Country.xlsx 的文件扩展名是 xlsx Captial.csv 的文件扩展名是 csv src/main/resources 的文件扩展名是
如您所见,通过使用 [String’s contains()](https://code8cn.com/java-string-contains-ignorecase/ “String’s contains()”) 和 [lastIndexOf()](https://code8cn. com/java-string-lastindexof-example/ “lastIndexOf()”),我们可以在 java 中获取文件的扩展名。
使用 Apache io
您需要下载 Apcahe io jar 并将其放入类路径。
完成上述步骤后,您只需要调用FilenameUtils.getExtension()
以检索 java 中的文件扩展名。
package org.arpit.code8cn;
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);
}
}
当您运行上述程序时,您将获得以下输出:
Country.xlsx 的文件扩展名是 xlsx Captial.csv 的文件扩展名是 csv src/main/resources 的文件扩展名是
这就是java获取文件扩展名的全部内容。