English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此示例中,我们将学习如何获取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
AttenzioneL'output del programma dipende dal percorso che stai utilizzando e dai file contenuti in quel percorso.
Se stai utilizzando la libreria Guava, puoi utilizzare direttamente il metodo getFileExtension() per ottenere l'estensione del file. Ad esempio,
String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
Inoltre, Apache Commons IO fornisce la classe FilenameUtils, che fornisce il metodo getExtension per ottenere l'estensione del file.
String extension = FilenameUtils.getExtension("file.py") // restituisce py