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

String fileName = "example.txt";
String[] parts = fileName.split("\\.");
String extension = parts[parts.length - 1];
使用String的lastIndexOf方法
String fileName = "example.txt";
int lastDotIndex = fileName.lastIndexOf('.');
String extension = fileName.substring(lastDotIndex + 1);
使用Path类(Java 7及以上)

import java.nio.file.Path;
import java.nio.file.Paths;
Path path = Paths.get("example.txt");
String fileName = path.getFileName().toString();
String extension = fileName.substring(fileName.lastIndexOf('.') + 1);
使用FilenameUtils(Apache Commons IO)
import org.apache.commons.io.FilenameUtils;
String extension = FilenameUtils.getExtension("example.txt");
注意事项
处理文件后缀时需要考虑一些特殊情况,比如文件名没有后缀、文件名以点开头、文件名包含多个点等。建议在获取后缀前进行必要的检查,确保代码的健壮性。
完整示例代码
public class FileExtensionExample {
public static String getFileExtension(String fileName) {
if (fileName == null || fileName.lastIndexOf('.') == -1) {
return "";
}
return fileName.substring(fileName.lastIndexOf('.') + 1);
}
public static void main(String[] args) {
System.out.println(getFileExtension("example.txt")); // 输出 txt
System.out.println(getFileExtension("archive.tar.gz")); // 输出 gz
System.out.println(getFileExtension("noextension")); // 输出空字符串
}
}
以上方法可以根据具体需求选择使用,对于简单的场景可以使用String类的方法,如果需要更复杂的文件操作建议使用Path类或Apache Commons IO库。






