Det Filtypenavn er suffikset knyttet til en computerfil. Det kan let identificeres, da det vises direkte i filnavnet efter et punktum (.)
Overvej for eksempel et filnavn Demo.java, her er filnavnet Demo og .java er filtypenavnet, der repræsenterer filtypen.
I dette afsnit vil vi lære hvordan man får filudvidelse via et Java-program .
Java fil klasse
- Java-filklassen er defineret i det her pakke. En anden ny Java-pakke, der er tilgængelig til at udføre input/output-operationer, er java.nio-pakken. Det er introduceret i JDK4.
- Det bruges til at udføre forskellige filhandlinger i Java-programmet.
- Filklassen har forskellige metoder og konstruktører, der arbejder med filstinavnet, omdøbning af en fil, sletning af en fil, oprettelse af en ny fil osv.
- For at bruge disse metoder og konstruktører skal der oprettes en forekomst af klassen File.
- Filklasseforekomster er uforanderlige, så når først en forekomst er oprettet med et specifikt stinavn, kan den ikke ændres.
Hent filudvidelse
Der er to måder at få filtypenavn i Java:
Følgende program bruger File-klassen til at identificere udvidelsen af den specificerede fil, som vi giver som input.
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!'); } } }
Produktion:
I ovenstående Java-program,
- Et eksempel f af klassen File fra det her pakken er oprettet. Det opretter en forekomst af stien, der sendes til konstruktøren.
- På næste linje bruges en if-sætning til at kontrollere, om filen eksisterer eller ej. Hvis det er sandt, vil det skabe variablerne til lagring af filtype, filnavn og filtypenavn.
- Og til sidst vises filtypenavnet og indholdstypen på konsollen ved hjælp af en Print()
Brug af Apache Commons IO
Apache Commons IO er komponenten i Apache afledt af Java API. De giver flere metoder til at udføre forskellige handlinger på filer uden at oprette et objekt af filen. I det følgende program har vi brugt FilnavnUtils.getExtension() metode til at få filtypenavnet.
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)); } }
Produktion:
Extension: txt
I ovenstående Java-program, getExtension() metoden til FilnavnUtils klasse bruges til at få filtypenavnet uden at oprette filobjektet.