Java FileReader (met voorbeelden)

In deze tutorial leren we met behulp van voorbeelden over Java FileReader en zijn methoden.

De FileReaderklasse van het java.iopakket kan worden gebruikt om gegevens (in tekens) uit bestanden te lezen.

Het breidt de InputSreamReaderklas uit.

Voordat u iets leert FileReader, moet u het Java-bestand kennen.

Maak een FileReader

Om een ​​bestandslezer te maken, moeten we eerst het java.io.FileReaderpakket importeren . Zodra we het pakket hebben geïmporteerd, kunnen we als volgt de bestandslezer maken.

1. Gebruik de naam van het bestand

 FileReader input = new FileReader(String name); 

Hier hebben we een bestandslezer gemaakt die zal worden gekoppeld aan het bestand met de naam.

2. Gebruik een object van het bestand

 FileReader input = new FileReader(File fileObj); 

Hier hebben we een bestandslezer gemaakt die zal worden gekoppeld aan het bestand dat wordt gespecificeerd door het object van het bestand.

In het bovenstaande voorbeeld worden de gegevens in het bestand opgeslagen met behulp van een standaard tekencodering.

Sinds Java 11 kunnen we echter ook het type tekencodering ( UTF-8 of UTF-16 ) in het bestand specificeren .

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

Hier hebben we de Charsetklasse gebruikt om de tekencodering van de bestandslezer te specificeren.

Methoden van FileReader

De FileReaderklasse biedt implementaties voor verschillende methoden die in de Readerklasse aanwezig zijn.

read () Methode

  • read() - leest een enkel teken uit de lezer
  • read(char() array) - leest de karakters van de lezer en slaat op in de gespecificeerde array
  • read(char() array, int start, int length) - leest het aantal tekens dat gelijk is aan de lengte van de lezer en slaat het op in de opgegeven array vanaf het begin van de positie

Stel dat we een bestand hebben met de naam input.txt met de volgende inhoud.

 This is a line of text inside the file. 

Laten we proberen het bestand te lezen met 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(); ) ) ) 

Uitvoer

 Gegevens in het bestand: dit is een regel tekst in het bestand. 

In het bovenstaande voorbeeld hebben we een bestandslezer gemaakt met de naam input. De bestandslezer is gekoppeld aan het bestand input.txt .

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

Om gegevens uit het bestand te lezen, hebben we de read()methode gebruikt.

getEncoding () - methode

De getEncoding()methode kan worden gebruikt om het type codering op te halen dat wordt gebruikt om gegevens in het bestand op te slaan. Bijvoorbeeld,

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

Uitvoer

 De tekencodering van input1: Cp1252 De tekencodering van input2: UTF8 

In het bovenstaande voorbeeld hebben we 2 bestandslezers gemaakt met de naam input1 en input2.

  • input1 specificeert niet de tekencodering. Daarom getEncoding()retourneert de methode de standaard tekencodering.
  • input2 specificeert de tekencodering, UTF8 . Daarom getEncoding()retourneert de methode de opgegeven tekencodering.

Opmerking : we hebben de Charset.forName()methode gebruikt om het type tekencodering te specificeren. Voor meer informatie, bezoek Java Charset (officiële Java-documentatie).

close () Methode

Om de bestandslezer te sluiten, kunnen we de close()methode gebruiken. Als de close()methode eenmaal is aangeroepen, kunnen we de lezer niet gebruiken om de gegevens te lezen.

Andere methoden van FileReader

Methode Omschrijving
ready() controleert of de bestandslezer klaar is om gelezen te worden
mark() markeer de positie in de bestandslezer tot waar de gegevens zijn gelezen
reset() geeft het besturingselement terug naar het punt in de lezer waar het merkteken werd geplaatst

Ga voor meer informatie naar Java FileReader (officiële Java-documentatie).

Interessante artikelen...