I det här exemplet lär vi oss att få filtillägget i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java-filklass
- Java-sträng lastIndexOf ()
- Java-strängsubstring ()
Exempel 1: Java-program för att få filtillägget
import java.io.File; class Main ( public static void main(String() args) ( File file = new File("Test.java"); // convert the file name into string String fileName = file.toString(); int index = fileName.lastIndexOf('.'); if(index> 0) ( String extension = fileName.substring(index + 1); System.out.println("File extension is " + extension); ) ) )
I exemplet ovan,
- file.toString () - Konverterar
File
objektet till en sträng. - fileName.lastIndexOf ('.') - Returnerar den senaste förekomsten av tecken. Eftersom allt filtillägg börjar med '.' , vi använder karaktären '.' .
- fileName.substring () - Returnerar strängen efter tecknet '.' .
Exempel 2: Hämta filtillägget för alla filer som finns i en katalog
Antag nu att vi vill få filtillägget för alla filer som finns i en katalog. Vi kan använda ovanstående process i loop.
import java.io.File; class Main ( public static void main(String() args) ( File directory = new File("Directory"); // list all files present in the directory File() files = directory.listFiles(); System.out.println("Files Extension"); for(File file : files) ( // convert the file name into string String fileName = file.toString(); int index = fileName.lastIndexOf('.'); if(index> 0) ( String extension = fileName.substring(index + 1); System.out.println(fileName + " " + extension); ) ) ) )
Produktion
Files Extension Directory file1.txt txt Directory file2.svg svg Directory file3.java java Directory file4.py py Directory file5.html html
Obs! Utdata från programmet beror på vilken katalog du använder och filerna i katalogen.
- Om du använder Gauva-biblioteket kan du använda
getFileExtension()
metoden direkt för att få filtillägget. Till exempel,String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
- Och även Apache Commons IO tillhandahåller FilenameUtils-klassen ger getExtension-metoden för att få filtillägget.
String extension = FilenameUtils.getExtension("file.py") // returns py