Java 程序:获取文件扩展名

要理解此示例,您应了解以下Java编程主题


示例 1:Java程序获取文件扩展名

import java.io.File;

class Main {

  public static void main(String[] args) {
    File file = new File("Test.java");

    // convert the file name into string
    String fileName = file.toString();

    int index = fileName.lastIndexOf('.');
    if(index > 0) {
      String extension = fileName.substring(index + 1);
      System.out.println("File extension is " + extension);
    }
  }
}

在上面的例子中:

  • file.toString() - 将File对象转换为字符串
  • fileName.lastIndexOf('.') - 返回字符的最后一次出现。由于所有文件扩展名都以 '.' 开头,因此我们使用字符 '.'
  • fileName.substring() - 返回字符 '.' 之后的字符串。

示例 2:获取目录中所有文件的文件扩展名

现在,假设我们要获取目录中所有文件的文件扩展名。我们可以在循环中使用上述过程。

import java.io.File;

class Main {

  public static void main(String[] args) {
    File directory = new File("Directory");

    // list all files present in the directory
    File[] files = directory.listFiles();
    System.out.println("Files\t\t\tExtension");

    for(File file : files) {
      // convert the file name into string
      String fileName = file.toString();

      int index = fileName.lastIndexOf('.');
      if(index > 0) {
        String extension = fileName.substring(index + 1);
        System.out.println(fileName + "\t" + extension);
      }
    }
  }


}

输出

Files                   Extension
Directory\file1.txt     txt
Directory\file2.svg     svg
Directory\file3.java    java
Directory\file4.py      py
Directory\file5.html    html

注意:程序的输出取决于您使用的目录以及目录中的文件。

  • 如果您使用的是Gauva库,则可以直接使用getFileExtension()方法获取文件扩展名。例如,
    String fileName = "Test.java";
    String extension = Files.getFileExtension(fileName);
  • 此外,Apache Commons IO的FilenameUtils类提供了getExtension方法来获取文件的扩展名。
    String extension = FilenameUtils.getExtension("file.py") // returns py
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战