在此示例中,我們將學(xué)習(xí)獲取Java的文件擴(kuò)展名。
import java.io.File; class Main { public static void main(String[] args) { File file = new File("Test.java"); //將文件名轉(zhuǎn)換為字符串 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對象轉(zhuǎn)換為字符串。
fileName.lastIndexOf('.') - 返回字符的最后一次出現(xiàn)位置。由于所有文件擴(kuò)展名均以“.”開頭。,我們使用字符“.” 。
fileName.substring() - 返回字符“.”之后的字符串。。
推薦閱讀:
現(xiàn)在,假設(shè)我們要獲取目錄中存在的所有文件的文件擴(kuò)展名。我們可以循環(huán)使用以上過程。
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擴(kuò)展名"); for(File file : files) { //將文件名轉(zhuǎn)換為字符串 String fileName = file.toString(); int index = fileName.lastIndexOf('.'); if(index > 0) { String extension = fileName.substring(index + 1); System.out.println(fileName + "\t" + extension); } } } }
輸出結(jié)果
文件 擴(kuò)展名 Directory\file1.txt txt Directory\file2.svg svg Directory\file3.java java Directory\file4.py py Directory\file5.html html
注意:程序的輸出取決于您使用的目錄和該目錄包含的文件。
如果您使用的是Gauva庫,則可以直接使用 getFileExtension() 方法獲取文件擴(kuò)展名。例如,
String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
并且,Apache Commons IO還提供 FilenameUtils 類,提供getExtension方法來獲取文件的擴(kuò)展名。
String extension = FilenameUtils.getExtension("file.py") // returns py