📅  最后修改于: 2023-12-03 15:16:37.383000             🧑  作者: Mango
在Java程序中,要获取文件扩展名可以通过以下方法实现:使用java.io.File
类的getName()
方法获取文件名,再使用String
类的lastIndexOf()
方法获取最后一个"."出现的位置,然后通过String
类的substring()
方法截取文件名中"."后面的字符串即为文件扩展名。
示例代码如下:
import java.io.File;
public class GetFileExtension {
public static void main(String[] args) {
File file = new File("/path/to/file.txt");
String fileName = file.getName();
String extension = "";
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0) {
extension = fileName.substring(dotIndex + 1);
}
System.out.println("File extension: " + extension);
}
}
以上代码会打印输出文件的扩展名。如果文件没有扩展名,输出为空字符串。
其中,dotIndex
变量为"."在文件名中最后一次出现的位置,如果文件名中不存在".",则dotIndex
值为-1,需要进行判断。extension
变量则为截取到的文件扩展名,如果文件名中不存在"."或文件名以"."结尾,则extension
值为空字符串。
以上代码只能获取单个文件的扩展名,如果需要获取一个目录下所有文件的扩展名,需要进行遍历。具体实现可参考以下代码:
import java.io.File;
public class GetFileExtensionsInDirectory {
public static void main(String[] args) {
File dir = new File("/path/to/directory");
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isFile()) {
String fileName = file.getName();
String extension = "";
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0) {
extension = fileName.substring(dotIndex + 1);
}
System.out.println(file.getPath() + ": " + extension);
}
}
} else {
System.out.println("Not a directory");
}
}
}
以上代码会输出目录下所有文件的扩展名。如果目录不存在或不是一个目录,会输出提示信息。
在实际开发中,获取文件扩展名是一个常见的功能,可以用于处理不同类型的文件。以上代码只是示例,具体实现可以根据实际需求进行修改和优化。