I denne opplæringen vil vi lære om Java Reader, dens underklasser og dens metoder ved hjelp av et eksempel.
Den Reader
klasse av java.io
pakken er en abstrakt super som representerer en strøm av tegn.
Siden Reader
er en abstrakt klasse, er den ikke nyttig i seg selv. Imidlertid kan underklassene brukes til å lese data.
Underklasser av Reader
For å kunne bruke funksjonaliteten til Reader
, kan vi bruke underklassene. Noen av dem er:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
Vi vil lære om alle disse underklassene i neste opplæring.
Lag en leser
For å opprette en Reader
, må vi importere java.io.Reader
pakken først. Når vi har importert pakken, kan du lage leseren her.
// Creates a Reader Reader input = new FileReader();
Her har vi laget en leser ved hjelp av FileReader
klassen. Det er fordi det Reader
er en abstrakt klasse. Derfor kan vi ikke skape et objekt av Reader
.
Merk : Vi kan også lage lesere fra andre underklasser av Reader
.
Metoder for leser
Den Reader
klasse gir forskjellige metoder som er implementert ved dens subklasser. Her er noen av de mest brukte metodene:
ready()
- sjekker om leseren er klar til å bli lestread(char() array)
- leser tegnene fra strømmen og lagrer i den angitte matrisenread(char() array, int start, int length)
- leser antall tegn som er like lange fra strømmen og lagrer i den angitte matrisen fra startmark()
- markerer posisjonen i strømmen som data er lest opp forreset()
- returnerer kontrollen til punktet i strømmen der merket er sattskip()
- forkaster det angitte antall tegn fra strømmen
Eksempel: Leser ved hjelp av FileReader
Slik kan vi implementere Reader
ved hjelp av FileReader
klassen.
Anta 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 denne filen ved hjelp av FileReader
(en underklasse av Reader
).
import java.io.Reader; 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 Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Produksjon
Er det data i strømmen? true Data in the stream: Dette er en tekstlinje i filen.
I eksemplet ovenfor har vi opprettet en leser ved hjelp av FileReader
klassen. Leseren er koblet til filen input.txt .
Reader input = new FileReader("input.txt");
For å lese data fra input.txt- filen har vi implementert disse metodene.
input.read(); // to read data from the reader input.close(); // to close the reader
For å lære mer, besøk Java Reader (offisiell Java-dokumentasjon).