Java FileReader (med eksempler)

I denne opplæringen vil vi lære om Java FileReader og metodene ved hjelp av eksempler.

Den FileReaderklassen av java.iopakken kan brukes til å lese data (i tegn) fra filer.

Det utvider InputSreamReaderklassen.

Før du lærer om FileReader, må du sørge for at du vet om Java-filen.

Lag en FileReader

For å opprette en filleser må vi først importere java.io.FileReaderpakken. Når vi har importert pakken, kan du lage filleseren her.

1. Bruke navnet på filen

 FileReader input = new FileReader(String name); 

Her har vi opprettet en filleser som vil bli koblet til filen spesifisert av navnet.

2. Bruke et objekt av filen

 FileReader input = new FileReader(File fileObj); 

Her har vi opprettet en filleser som vil bli koblet til filen spesifisert av objektet til filen.

I eksemplet ovenfor lagres dataene i filen ved hjelp av standard tegnkoding.

Siden Java 11 kan vi imidlertid også spesifisere typen koding ( UTF-8 eller UTF-16 ) i filen.

 FileReader input = new FileReader(String file, Charset cs); 

Her har vi brukt Charsetklassen til å spesifisere tegnkodingen til filleseren.

Metoder for FileReader

Den FileReaderklasse gir implementeringer for forskjellige metoder for å medføre i Readerklassen.

les () Metode

  • read() - leser et enkelt tegn fra leseren
  • read(char() array) - leser tegnene fra leseren og lagrer i den angitte matrisen
  • read(char() array, int start, int length) - leser antall tegn som er like lange fra leseren og lagrer i den angitte matrisen fra posisjonsstart

Anta for eksempel at vi har en fil som heter input.txt med følgende innhold.

 This is a line of text inside the file. 

La oss prøve å lese filen ved hjelp av FileReader.

 import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produksjon

 Data i filen: Dette er en tekstlinje i filen. 

I eksemplet ovenfor har vi opprettet en filleser som heter input. Filleseren er koblet til filen input.txt .

 FileInputStream input = new FileInputStream("input.txt"); 

For å lese data fra filen har vi brukt read()metoden.

getEncoding () Metode

Den getEncoding()metode kan brukes for å få den type koding som brukes til å lagre data i filen. For eksempel,

 import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produksjon

 Tegnkodingen av input1: Cp1252 Tegnkodingen av input2: UTF8 

I eksemplet ovenfor har vi opprettet 2 fillesere kalt input1 og input2.

  • input1 spesifiserer ikke tegnkodingen. Derfor getEncoding()returnerer metoden standard tegnkoding.
  • input2 spesifiserer tegnkodingen, UTF8 . Derfor getEncoding()returnerer metoden den spesifiserte tegnkodingen.

Merk : Vi har brukt Charset.forName()metoden til å spesifisere typen tegnkoding. For å lære mer, besøk Java Charset (offisiell Java-dokumentasjon).

lukk () Metode

For å lukke filleseren kan vi bruke close()metoden. Når close()metoden er kalt, kan vi ikke bruke leseren til å lese dataene.

Andre metoder for FileReader

Metode Beskrivelse
ready() sjekker om filleseren er klar til å bli lest
mark() merk posisjonen i filleseren som data er lest opp til
reset() returnerer kontrollen til det punktet i leseren der merket ble satt

For å lære mer, besøk Java FileReader (offisiell Java-dokumentasjon).

Interessante artikler...