logo

Java filudvidelse

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:

Java filudvidelse

I ovenstående Java-program,

  1. Et eksempel f af klassen File fra det her pakken er oprettet. Det opretter en forekomst af stien, der sendes til konstruktøren.
  2. 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.
  3. lastIndexOf() metode returnerer den sidste forekomst af tegnet, der er sendt som et argument. understreng() metode bruges til at få filudvidelsen efter punktum (.) probeContentType() metode fra ni pakken returnerer en streng af indholdstype. Det kan kaste en IOException , derfor er det specificeret inde i en try-catch blok.
  4. 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.