El Extensió de fitxer és el sufix adjunt a un fitxer informàtic. Es pot identificar fàcilment, ja que apareix directament al nom del fitxer després d'un punt (.)
Per exemple, considereu un nom de fitxer Demo.java, aquí el nom del fitxer és Demo i .java és l'extensió de fitxer que representa el tipus de fitxer.
En aquest apartat, aprendrem com obtenir l'extensió d'un fitxer mitjançant un programa Java .
Classe de fitxers Java
- La classe Java File es defineix al fitxer això paquet. Un altre paquet Java nou disponible per realitzar operacions d'entrada/sortida és el paquet java.nio. S'introdueix a JDK4.
- S'utilitza per realitzar diverses operacions de fitxers al programa Java.
- La classe File té diferents mètodes i constructors que funcionen amb el nom de la ruta del fitxer, canviant el nom d'un fitxer, suprimint un fitxer, creant un fitxer nou, etc.
- Per utilitzar aquests mètodes i constructors, cal crear una instància de la classe File.
- Les instàncies de classe de fitxer són immutables, per tant, una vegada que es crea una instància amb un nom de camí específic, no es pot canviar.
Obtenció de l'extensió de fitxer
Hi ha dues maneres d'obtenir l'extensió de fitxer a Java:
El programa següent utilitza la classe File per identificar l'extensió del fitxer especificat que donem com a entrada.
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!'); } } }
Sortida:
En el programa Java anterior,
- Una instància f de la classe File de la això es crea el paquet. Crea una instància del camí passat al constructor.
- A la línia següent s'utilitza una instrucció if per comprovar si el fitxer existeix o no. Si és cert, crearà les variables per emmagatzemar el tipus de fitxer, el nom i l'extensió del fitxer.
- I, finalment, l'extensió del fitxer i el tipus de contingut es mostren a la consola mitjançant a imprimir()
Utilitzant Apache Commons IO
Apache Commons IO és el component d'Apache derivat de l'API de Java. Proporcionen diversos mètodes per realitzar diferents operacions sobre fitxers sense crear un objecte del fitxer. En el programa següent hem utilitzat el FilenameUtils.getExtension() mètode per obtenir l'extensió del fitxer.
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)); } }
Sortida:
Extension: txt
En el programa Java anterior, getExtension() mètode de la FilenameUtils La classe s'utilitza per obtenir l'extensió del fitxer sense crear l'objecte del fitxer.