logo

Java filutvidelse

De Filutvidelse er suffikset vedlagt en datafil. Den kan lett identifiseres ettersom den vises direkte i filnavnet etter et punktum (.)

Tenk for eksempel på et filnavn Demo.java, her er filnavnet Demo og .java er filtypen som representerer filtypen.

I denne delen vil vi lære hvordan få filforlengelse gjennom et Java-program .

Java-filklasse

  • Java-filklassen er definert i dette pakke. En annen ny Java-pakke tilgjengelig for å utføre input/output-operasjoner er java.nio-pakken. Den er introdusert i JDK4.
  • Den brukes til å utføre ulike filoperasjoner i Java-programmet.
  • Filklassen har forskjellige metoder og konstruktører som jobber med filbanenavnet, gi nytt navn til en fil, slette en fil, lage en ny fil osv.
  • For å bruke disse metodene og konstruktørene, må en forekomst av File-klassen opprettes.
  • Filklasseforekomster er uforanderlige, derfor kan den ikke endres når en forekomst først er opprettet med et spesifikt banenavn.

Får filutvidelse

Det er to måter å få filtype i Java:

Følgende program bruker File-klassen til å identifisere utvidelsen til den angitte filen som vi gir 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!'); } } } 

Produksjon:

Java filutvidelse

I Java-programmet ovenfor,

  1. Et eksempel f av File-klassen fra dette pakken er opprettet. Det oppretter en forekomst av banen som ble sendt til konstruktøren.
  2. På neste linje brukes en if-setning for å sjekke om filen eksisterer eller ikke. Hvis det er sant, vil det lage variablene for lagring av filtype, filnavn og filtype.
  3. lastIndexOf() metoden returnerer den siste forekomsten av tegnet som ble sendt som et argument. delstreng() metoden brukes for å få utvidelsen av filen etter punktum (.) probeContentType() metode fra ni pakken returnerer en streng med innholdstype. Det kan kaste en IOException , derfor er det spesifisert inne i en try-catch-blokk.
  4. Og til slutt vises filtypen og innholdstypen på konsollen ved hjelp av en skrive ut()

Bruker Apache Commons IO

Apache Commons IO er komponenten av Apache avledet fra Java API. De gir flere metoder for å utføre forskjellige operasjoner på filer uten å opprette et objekt av filen. I det følgende programmet har vi brukt FilenameUtils.getExtension() metode for å få filtypen.

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)); } } 

Produksjon:

 Extension: txt 

I Java-programmet ovenfor, getExtension() metoden for FilnavnUtils klasse brukes til å hente filtypen uten å opprette filobjektet.