Java函数如何实现获取文件扩展名?
发布时间:2023-07-03 12:00:36
在Java中,可以通过以下几种方式来获取文件扩展名:
1. 使用String的方法:
String fileName = "example.txt";
String extension = fileName.substring(fileName.lastIndexOf("."));
这种方式通过截取文件名中最后一个点(.)之后的字符来获取扩展名。注意,这种方法只适用于文件名中只有一个点的情况。
2. 使用java.io.File类的方法:
File file = new File("example.txt");
String extension = file.getName().substring(file.getName().lastIndexOf("."));
这种方式首先创建一个File对象,然后通过File对象的getName()方法获取文件名,再使用String的substring()方法获取扩展名。
3. 使用java.nio.file.Path类的方法:
Path path = Paths.get("example.txt");
String fileName = path.getFileName().toString();
String extension = fileName.substring(fileName.lastIndexOf("."));
这种方式首先使用Path类的静态方法Paths.get()创建一个Path对象,然后通过Path对象的getFileName()方法获取文件名,再使用String的substring()方法获取扩展名。
4. 使用java.nio.file.Files类的方法:
Path path = Paths.get("example.txt");
String extension = Files.getFileExtension(path.getFileName().toString());
这种方式首先使用Path类的静态方法Paths.get()创建一个Path对象,然后通过Path对象的getFileName()方法获取文件名,再使用Files类的getFileExtension()方法直接获取文件扩展名。
需要注意的是,这些方法仅获取文件名中最后一个点之后的字符作为扩展名,并不考虑文件名本身中可能包含的点。如果需要获取完整的扩展名,可以通过以下方法进行修改:
String fileName = "example.tar.gz";
String extension = fileName.substring(fileName.lastIndexOf("."));
int dotIndex = extension.indexOf(".");
if (dotIndex != -1) {
extension = extension.substring(dotIndex + 1);
}
这种方式先获取到最后一个点之后的所有字符,然后判断是否还有点在扩展名中,如果有,则截取最后一个点之后的字符串作为扩展名。
总之,以上提供了几种常见的获取文件扩展名的方法,可以根据实际的使用情况选择适合的方式来获取文件扩展名。
