在此示例中,我们将学习获取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() - 返回字符“.”之后的字符串。。
推荐阅读:
现在,假设我们要获取目录中存在的所有文件的文件扩展名。我们可以循环使用以上过程。
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