跳到主要内容

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("文件扩展名是 " + 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

注意:程序的输出取决于你使用的目录和目录中的文件。

  • 如果你正在使用 Guava 库,你可以直接使用 getFileExtension() 方法来获取文件扩展名。例如,
String fileName = "Test.java";
String extension = Files.getFileExtension(fileName);
  • 而且,Apache Commons IO 提供的 FilenameUtils 类 提供了 getExtension 方法来获取文件的扩展名。
String extension = FilenameUtils.getExtension("file.py") // 返回 py