java 如何获取文件后缀
获取文件后缀的方法
在Java中,可以通过多种方式获取文件的后缀名。以下是几种常见的方法:
使用String的split方法
通过分割文件名来获取后缀:

String fileName = "example.txt";
String[] parts = fileName.split("\\.");
String extension = parts.length > 1 ? parts[parts.length - 1] : "";
System.out.println(extension); // 输出 "txt"
使用String的lastIndexOf方法
通过查找最后一个点(.)的位置来截取后缀:

String fileName = "example.txt";
int lastDotIndex = fileName.lastIndexOf('.');
String extension = lastDotIndex != -1 ? fileName.substring(lastDotIndex + 1) : "";
System.out.println(extension); // 输出 "txt"
使用Apache Commons IO库
如果项目中引入了Apache Commons IO库,可以使用FilenameUtils.getExtension方法:
import org.apache.commons.io.FilenameUtils;
String fileName = "example.txt";
String extension = FilenameUtils.getExtension(fileName);
System.out.println(extension); // 输出 "txt"
使用Java NIO的Path类
Java NIO提供了更简洁的方式来处理文件路径和后缀:
import java.nio.file.Path;
import java.nio.file.Paths;
Path path = Paths.get("example.txt");
String fileName = path.getFileName().toString();
int lastDotIndex = fileName.lastIndexOf('.');
String extension = lastDotIndex != -1 ? fileName.substring(lastDotIndex + 1) : "";
System.out.println(extension); // 输出 "txt"
注意事项
- 如果文件名中包含多个点(例如
file.name.txt),以上方法会正确返回最后一个点之后的部分(txt)。 - 如果文件名没有后缀(例如
file),返回的结果为空字符串。 - 某些情况下可能需要处理大小写问题,可以通过
toLowerCase()或toUpperCase()统一格式。






