The Extensie de fișier este sufixul atașat unui fișier de calculator. Poate fi identificat cu ușurință, deoarece apare direct în numele fișierului după un punct (.)
De exemplu, luați în considerare un nume de fișier Demo.java, aici numele fișierului este Demo și .java este extensia de fișier care reprezintă tipul fișierului.
În această secțiune, vom învăța cum să obțineți extensia fișierului printr-un program Java .
Clasa de fișiere Java
- Clasa Java File este definită în acest pachet. Un alt pachet Java nou disponibil pentru efectuarea operațiunilor de intrare/ieșire este pachetul java.nio. Este introdus în JDK4.
- Este folosit pentru a efectua diferite operații de fișiere în programul Java.
- Clasa File are diferite metode și constructori care lucrează cu numele căii fișierului, redenumirea unui fișier, ștergerea unui fișier, crearea unui fișier nou etc.
- Pentru a utiliza aceste metode și constructori, trebuie creată o instanță a clasei File.
- Instanțele clasei de fișiere sunt imuabile, prin urmare, odată ce o instanță este creată cu o anumită cale, aceasta nu poate fi schimbată.
Obținerea extensiei de fișier
Există două moduri de a obține extensia fișierului în Java:
Următorul program folosește clasa File pentru a identifica extensia fișierului specificat pe care îl dăm ca intrare.
FileTypeDemo.java
import java.io.*; import java.nio.file.Files; public class FileTypeDemo { /* Driver Code */ public static void main(String ar[]) { /* declaring a File instance with path of the File */ File f = new File('C:/Users/WIN 8.1/Desktop/demo.txt'); /* If file exists */ if(f.exists()) { String fType = 'Undetermined'; String fName = f.getName(); String extension = ''; int i = fName.lastIndexOf('.'); if (i > 0) { extension = fName.substring(i + 1); } try { fType= Files.probeContentType(f.toPath()); } catch (IOException ioException) { System.out.println('Cannot determine type of file '+ f.getName()+ ' due to the exception: '+ ioException); } /* Print the file extension. */ System.out.println('File Extension used is: ' + extension + ' and is probably ' + fType); } else { System.out.println('File does not exist!'); } } }
Ieșire:
În programul Java de mai sus,
- O instanta f a clasei File din acest pachetul este creat. Acesta creează o instanță a căii transmise constructorului.
- Pe linia următoare se folosește o instrucțiune if pentru a verifica dacă fișierul există sau nu. Dacă este adevărat, va crea variabilele pentru stocarea tipului de fișier, numele și extensia fișierului.
- Și, în sfârșit, extensia fișierului și tipul de conținut sunt afișate pe consolă folosind a imprimare()
Folosind Apache Commons IO
Apache Commons IO este componenta Apache derivată din API-ul Java. Ele oferă mai multe metode pentru a efectua diferite operații asupra fișierelor fără a crea un obiect al fișierului. În programul următor am folosit FilenameUtils.getExtension() metoda de a obține extensia fișierului.
GetFileExtensionApache,java
import java.io.IOException; import org.apache.commons.io.FilenameUtils; public class GetFileExtensionApache { /* Driver Code */ public static void main(String []args) { try { usingFilenameUtils(); } catch(IOException e) { System.out.println(e.getMessage()); } } public static void usingFilenameUtils() throws IOException { String path = 'C:/Users/WIN 8.1/Desktop/demo.txt'; System.out.println('Extension: ' + FilenameUtils.getExtension(path)); } }
Ieșire:
Extension: txt
În programul Java de mai sus, getExtension() metoda de FilenameUtils clasa este folosită pentru a obține extensia fișierului fără a crea obiectul fișier.