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

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

获取文件扩展名的Java程序

在Java中,获取文件扩展名是一个很常见的任务。文件扩展名是文件名的最后部分,由一个或多个字符组成,通常用于指示文件的类型。例如,.txt扩展名通常表示文本文件,而.jpg扩展名则表示JPEG图像文件。

实现方法

Java中获取文件扩展名的方法有多种。以下是几种常见的实现方法:

方法一:使用字符串分割

这种方法将文件名作为字符串输入,然后使用Java字符串分割函数 split() 分割字符串,将文件扩展名分离出来。以下是一个示例代码:

public static String getFileExtension(String fileName) {
    String[] arr = fileName.split(".");
    if (arr.length > 0) {
        return arr[arr.length - 1];
    } else {
        return "";
    }
}

解释说明:

  • getFileExtension() 函数接收一个字符串类型的参数 fileName,表示要分割的文件名。
  • split() 函数使用 .(点)作为分割符,将字符串分割成一个字符串数组。
  • 如果字符串数组的长度大于0,则返回最后一个元素,即文件扩展名,否则返回空字符串。
方法二:使用字符串截取

这种方法是将文件名作为字符串输入,然后使用Java字符串的 substring() 函数截取文件扩展名。以下是示例代码:

public static String getFileExtension(String fileName) {
   int dotIndex = fileName.lastIndexOf('.');
   if(dotIndex == -1){
       return "";
   }else{
       return fileName.substring(dotIndex + 1);
   }
}

解释说明:

  • getFileExtension() 函数接收一个字符串类型的参数 fileName,表示要截取的文件名。
  • lastIndexOf() 函数查找文件名中最后一个出现的 .(点)的位置。
  • 如果找不到,则返回空字符串;否则使用 substring() 函数截取文件扩展名。
方法三:使用Java NIO

Java NIO(New I/O)引入了 java.nio.file.Pathjava.nio.file.Files 两个新类以简化与文件系统的交互。使用这些类,可以轻松地获取文件扩展名。示例代码如下:

public static String getFileExtension(String fileName) {
    Path path = Paths.get(fileName);
    String extension = null;
    try {
        extension = Files.probeContentType(path);
    } catch (IOException e) {
        System.err.format("'%s'文件类型未知%n", path);
    }
    return extension;
}

解释说明:

  • getFileExtension() 函数接收一个字符串类型的参数 fileName,表示要获取扩展名的文件名。
  • Paths.get() 函数创建一个 Path 对象,该对象代表指定的文件路径。
  • Files.probeContentType() 函数获取 Path 对象的MIME类型,进而得到扩展名。
结束语

本文介绍了获取文件扩展名的Java程序的几种方法,包括使用字符串分割、字符串截取和Java NIO。根据具体代码实现的情况,选择最适合自己的方法即可。