Java Reader-klasse
Java Reader-klasse
In deze zelfstudie leren we over Java Reader, zijn subklassen en zijn methoden met behulp van een voorbeeld.
De Reader
klasse van de java.io
package is een abstracte superklasse die een stroom karakters vertegenwoordigt.
Sinds Reader
een abstracte klasse is, is het op zichzelf niet nuttig. De subklassen ervan kunnen echter worden gebruikt om gegevens te lezen.
Subklassen van Reader
Om de functionaliteit van Reader
. te gebruiken , kunnen we zijn subklassen gebruiken. Sommigen van hen zijn:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
We zullen over al deze subklassen leren in de volgende tutorial.
Een lezer maken
Om een Reader
. aan te maken , moeten we de java.io.Reader
. importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we de lezer als volgt maken.
// Creates a Reader
Reader input = new FileReader();
Hier hebben we een lezer gemaakt met behulp van de FileReader
klas. Het is omdat Reader
is een abstracte klasse. Daarom kunnen we geen object van Reader
. maken .
Opmerking :We kunnen ook lezers maken van andere subklassen van Reader
.
Methoden van Reader
De Reader
class biedt verschillende methoden die worden geïmplementeerd door zijn subklassen. Hier zijn enkele veelgebruikte 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 opgegeven arrayread(char[] array, int start, int length)
- leest het aantal tekens gelijk aan lengte uit de stream en slaat op in de opgegeven array vanaf de startmark()
- markeert de positie in de stream tot waar gegevens zijn gelezenreset()
- brengt de besturing terug naar het punt in de stream waar de markering is ingesteldskip()
- verwijdert het opgegeven aantal tekens uit de stream
Voorbeeld:Reader met FileReader
Hier is hoe we Reader
kunnen implementeren 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
Is there data in the stream? true Data in the stream: This is a line of text inside the file.
In het bovenstaande voorbeeld hebben we een lezer gemaakt met behulp van de FileReader
klas. De reader is gekoppeld aan het bestand input.txt .
Reader input = new FileReader("input.txt");
Gegevens lezen van de input.txt bestand, 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).
Java