Tässä opetusohjelmassa opitaan Java Readerista, sen alaluokista ja menetelmistä esimerkin avulla.
Reader
Luokka java.io
paketti on abstrakti yliluokka joka edustaa virtana merkkiä.
Koska Reader
se on abstrakti luokka, se ei ole itsestään hyödyllinen. Sen alaluokkia voidaan kuitenkin käyttää tietojen lukemiseen.
Readerin alaluokat
Käyttääkseen Reader
, voimme käyttää sen alaluokkia. Jotkut niistä ovat:
- Puskuroitu lukija
- InputStreamReader
- FileReader
- StringReader
Opimme kaikista näistä alaluokista seuraavassa opetusohjelmassa.
Luo lukija
Paketin luomiseksi Reader
meidän on java.io.Reader
ensin tuotava paketti. Kun tuot paketin, voimme luoda lukijan seuraavasti.
// Creates a Reader Reader input = new FileReader();
Tässä olemme luoneet lukijan FileReader
luokan avulla. Se johtuu siitä, että Reader
se on abstrakti luokka. Siksi emme voi luoda objektia Reader
.
Huomaa : Voimme luoda lukijoita myös muista Reader
.
Lukijan menetelmät
Reader
Luokka tarjoaa erilaisia menetelmiä, on toteutettu sen alaluokkien. Tässä on joitain yleisesti käytettyjä menetelmiä:
ready()
- tarkistaa, onko lukija valmis lukemaanread(char() array)
- lukee streamin merkit ja tallentaa määritetylle taulukolleread(char() array, int start, int length)
- lukee streamin pituuden verran merkkien määrän ja tallentaa alusta alkaen määritettyyn ryhmäänmark()
- merkitsee sijainnin virrassa, johon tiedot on luettureset()
- palauttaa ohjauksen virran pisteeseen, johon merkki asetetaanskip()
- hylkää määritetyn määrän merkkejä virrasta
Esimerkki: Reader FileReaderin avulla
Tässä on, miten voimme toteuttaa Reader
käyttämällä FileReader
luokkaa.
Oletetaan, että meillä on tiedosto nimeltä input.txt, jolla on seuraava sisältö.
This is a line of text inside the file.
Yritetään lukea tämä tiedosto käyttämällä FileReader
(alaluokkaa 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(); ) ) )
Tuotos
Onko streamissa tietoja? true data stream: Tämä on tekstirivi tiedoston sisällä.
Yllä olevassa esimerkissä olemme luoneet lukijan FileReader
luokan avulla. Lukija on linkitetty tiedostoon input.txt .
Reader input = new FileReader("input.txt");
Tietojen lukemiseksi input.txt- tiedostosta olemme toteuttaneet nämä menetelmät.
input.read(); // to read data from the reader input.close(); // to close the reader
Lisätietoja on Java Readerissa (virallinen Java-dokumentaatio).