有时在处理文件时,我们需要根据它们的类型对它们进行不同的处理。java.io.File
没有任何方法可以获取文件扩展名,这里我提供了一个实用方法来获取java中的文件扩展名。
Java 获取文件扩展名
文件的扩展名是句点 (.) 之后文件名的最后一部分。例如,Java 源文件扩展名为“java”,您会注意到文件名总是以“.java”结尾。
我们可以使用这个文件名和扩展名逻辑来检索文件名的最后一部分并获取文件的扩展名。
package com.journaldev.files;
import java.io.File;
public class GetFileExtension {
/**
* Get File extension in java
* @param args
*/
public static void main(String[] args) {
File file = new File("/Users/pankaj/java.txt");
System.out.println("File extension is: "+getFileExtension(file));
//file name without extension
file = new File("/Users/pankaj/temp");
System.out.println("File extension is: "+getFileExtension(file));
//file name with dot
file = new File("/Users/pankaj/java.util.txt");
System.out.println("File extension is: "+getFileExtension(file));
//hidden files without extension
file = new File("/Users/pankaj/.htaccess");
System.out.println("File extension is: "+getFileExtension(file));
}
private static String getFileExtension(File file) {
String fileName = file.getName();
if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
return fileName.substring(fileName.lastIndexOf(".")+1);
else return "";
}
}
上述程序的输出为:
File extension is: txt
File extension is:
File extension is: txt
File extension is:
请注意,这里我没有检查文件是否存在。但是,在实际编程场景中,您应该在进一步处理之前检查文件是否存在。