Java FileReader (med eksempler)

I denne vejledning lærer vi om Java FileReader og dens metoder ved hjælp af eksempler.

Den FileReaderklasse af java.iopakken kan bruges til at læse data (i tegn) fra filer.

Det udvider InputSreamReaderklassen.

Før du lærer om FileReader, skal du sørge for at kende til Java-filen.

Opret en FileReader

For at oprette en fillæser skal vi først importere java.io.FileReaderpakken. Når vi først har importeret pakken, kan du oprette fillæser her.

1. Brug af filnavnet

 FileReader input = new FileReader(String name); 

Her har vi oprettet en fillæser, der linkes til den fil, der er angivet med navnet.

2. Brug af et objekt i filen

 FileReader input = new FileReader(File fileObj); 

Her har vi oprettet en fillæser, der linkes til den fil, der er angivet af filens objekt.

I ovenstående eksempel opbevares dataene i filen ved hjælp af en standardkodning.

Men da Java 11 kan vi også angive typen af ​​tegnkodning ( UTF-8 eller UTF-16 ) i filen.

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

Her har vi brugt Charsetklassen til at specificere tegnkodningen af ​​fillæseren.

Metoder til FileReader

Den FileReaderklasse giver implementeringer for forskellige metoder præsentere i Readerklasse.

læs () Metode

  • read() - læser et enkelt tegn fra læseren
  • read(char() array) - læser tegnene fra læseren og gemmer i den angivne matrix
  • read(char() array, int start, int length) - læser antallet af tegn svarende til længden fra læseren og gemmer i det angivne array startende fra positionens start

Antag for eksempel, at vi har en fil med navnet input.txt med følgende indhold.

 This is a line of text inside the file. 

Lad os prøve at læse filen ved hjælp af 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(); ) ) ) 

Produktion

 Data i filen: Dette er en tekstlinje inde i filen. 

I ovenstående eksempel har vi oprettet en fillæser med navnet input. Fillæseren er knyttet til filen input.txt .

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

For at læse data fra filen har vi brugt read()metoden.

getEncoding () metode

Den getEncoding()metode kan bruges til at få den type kodning, der bruges til at gemme 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(); ) ) ) 

Produktion

 Tegnkodning af input1: Cp1252 Tegnkodning af input2: UTF8 

I ovenstående eksempel har vi oprettet 2 fillæser med navnet input1 og input2.

  • input1 angiver ikke tegnkodningen. Derfor getEncoding()returnerer metoden standardtegnkodningen.
  • input2 angiver tegnkodning, UTF8 . Derfor getEncoding()returnerer metoden den angivne tegnkodning.

Bemærk : Vi har brugt Charset.forName()metoden til at specificere typen af ​​tegnkodning. For at lære mere, besøg Java Charset (officiel Java-dokumentation).

close () Metode

For at lukke fillæseren kan vi bruge close()metoden. Når close()metoden er kaldt, kan vi ikke bruge læseren til at læse dataene.

Andre metoder til FileReader

Metode Beskrivelse
ready() kontrollerer, om fillæseren er klar til at blive læst
mark() markere positionen i fillæser, op til hvilken data er læst
reset() returnerer kontrollen til det punkt i læseren, hvor mærket blev sat

For at lære mere, besøg Java FileReader (officiel Java-dokumentation).

Interessante artikler...