In deze tutorial leren we met behulp van een voorbeeld over Java Reader, de subklassen en de methoden ervan.
De Reader
klasse van het java.io
pakket is een abstracte superklasse die een stroom tekens vertegenwoordigt.
Omdat het Reader
een abstracte klasse is, is deze op zichzelf niet bruikbaar. De subklassen kunnen echter worden gebruikt om gegevens te lezen.
Subklassen van Reader
Om de functionaliteit van te gebruiken Reader
, kunnen we de subklassen ervan gebruiken. Sommige ervan zijn:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
We zullen over al deze subklassen leren in de volgende tutorial.
Maak een Reader
Om een te maken Reader
, moeten we eerst het java.io.Reader
pakket importeren . Zodra we het pakket hebben geïmporteerd, kunnen we als volgt de reader maken.
// Creates a Reader Reader input = new FileReader();
Hier hebben we een lezer gemaakt met behulp van de FileReader
klas. Het is omdat het Reader
een abstracte klasse is. Daarom kunnen we er geen object van maken Reader
.
Opmerking : we kunnen ook lezers maken uit andere subklassen van Reader
.
Methoden van Reader
De Reader
klasse biedt verschillende methoden die worden geïmplementeerd door de subklassen. Hier zijn enkele van de meest gebruikte methoden:
ready()
- controleert of de lezer klaar is om gelezen te wordenread(char() array)
- leest de karakters uit de stream en slaat ze op in de gespecificeerde arrayread(char() array, int start, int length)
- leest het aantal tekens dat gelijk is aan de lengte van de stream en slaat het vanaf het begin op in de opgegeven arraymark()
- markeert de positie in de stream tot waar de gegevens zijn gelezenreset()
- zet de besturing terug naar het punt in de stream waar de markering is geplaatstskip()
- verwijdert het opgegeven aantal tekens uit de stream
Voorbeeld: Reader met FileReader
Hier is hoe we kunnen implementeren Reader
met behulp van de FileReader
klasse.
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 dit bestand te lezen met FileReader
(een subklasse van 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(); ) ) )
Uitvoer
Zijn er gegevens in de stream? true Data in the stream: Dit is een regel tekst in het bestand.
In het bovenstaande voorbeeld hebben we een lezer gemaakt met behulp van de FileReader
klasse. De lezer is gekoppeld aan het bestand input.txt .
Reader input = new FileReader("input.txt");
Om gegevens uit het input.txt- bestand te lezen , hebben we deze methoden geïmplementeerd.
input.read(); // to read data from the reader input.close(); // to close the reader
Ga voor meer informatie naar Java Reader (officiële Java-documentatie).