I denne vejledning lærer vi om Java Reader, dens underklasser og dens metoder ved hjælp af et eksempel.
Pakkenes Reader
klasse java.io
er en abstrakt superklasse, der repræsenterer en strøm af tegn.
Da det Reader
er en abstrakt klasse, er den ikke nyttig i sig selv. Dens underklasser kan dog bruges til at læse data.
Underklasser af læser
For at bruge funktionaliteten af Reader
kan vi bruge dens underklasser. Nogle af dem er:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
Vi lærer om alle disse underklasser i den næste vejledning.
Opret en læser
For at oprette en Reader
skal vi først importere java.io.Reader
pakken. Når vi først har importeret pakken, kan du oprette læseren her.
// Creates a Reader Reader input = new FileReader();
Her har vi oprettet en læser ved hjælp af FileReader
klassen. Det er fordi det Reader
er en abstrakt klasse. Derfor kan vi ikke skabe et objekt af Reader
.
Bemærk : Vi kan også oprette læsere fra andre underklasser af Reader
.
Metoder til læsning
Den Reader
klasse giver forskellige metoder, der er gennemført af dens underklasser. Her er nogle af de almindeligt anvendte metoder:
ready()
- kontrollerer, om læseren er klar til at blive læstread(char() array)
- læser tegnene fra streamen og gemmer i den angivne matrixread(char() array, int start, int length)
- læser antallet af tegn, der er lig med længden fra streamen, og gemmer i det angivne array startende fra startenmark()
- markerer positionen i strømmen, op til hvilken data er læstreset()
- returnerer kontrolelementet til det punkt i strømmen, hvor mærket er satskip()
- kasserer det specificerede antal tegn fra streamen
Eksempel: Læser ved hjælp af FileReader
Her er hvordan vi kan implementere Reader
ved hjælp af FileReader
klassen.
Antag, 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 denne fil ved hjælp af FileReader
(en underklasse af 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(); ) ) )
Produktion
Er der data i strømmen? sande data i strømmen: Dette er en tekstlinje inde i filen.
I ovenstående eksempel har vi oprettet en læser ved hjælp af FileReader
klassen. Læseren er knyttet til filen input.txt .
Reader input = new FileReader("input.txt");
For at læse data fra filen input.txt har vi implementeret disse metoder.
input.read(); // to read data from the reader input.close(); // to close the reader
For at lære mere, besøg Java Reader (officiel Java-dokumentation).