Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序获取文件扩展名

Java 实例大全

在此示例中,我们将学习获取Java的文件扩展名。

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

import java.io.File;

class Main {

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

    //将文件名转换为字符串
    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");

    //列出目录中存在的所有文件
    File[] files = directory.listFiles();
    System.out.println("文件\t\t\t扩展名");

    for(File file : files) {
      //将文件名转换为字符串
      String fileName = file.toString();

      int index = fileName.lastIndexOf('.');
      if(index > 0) {
        String extension = fileName.substring(index + 1);
        System.out.println(fileName + "\t" + 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

Java 实例大全