欢迎访问宙启技术站
智能推送

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);
}

这种方式先获取到最后一个点之后的所有字符,然后判断是否还有点在扩展名中,如果有,则截取最后一个点之后的字符串作为扩展名。

总之,以上提供了几种常见的获取文件扩展名的方法,可以根据实际的使用情况选择适合的方式来获取文件扩展名。