📜  Java程序以获取文件扩展名(1)

📅  最后修改于: 2023-12-03 15:16:37.383000             🧑  作者: Mango

Java程序以获取文件扩展名

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

以上代码会输出目录下所有文件的扩展名。如果目录不存在或不是一个目录,会输出提示信息。

在实际开发中,获取文件扩展名是一个常见的功能,可以用于处理不同类型的文件。以上代码只是示例,具体实现可以根据实际需求进行修改和优化。