Selles õpetuses tutvume näite abil Java Readeri, selle alaklasside ja meetoditega.
Reader
Klassi java.io
pakett on abstraktne ülemklassi, mis tähistab märgijada.
Kuna tegemist Reader
on abstraktse klassiga, pole see iseenesest kasulik. Selle alamklassides saab aga andmeid lugeda.
Readeri alaklassid
Funktsioonide kasutamiseks Reader
saame kasutada selle alamklasse. Mõned neist on:
- Puhverdatud lugeja
- InputStreamReader
- FileReader
- StringReader
Kõigi nende alaklasside kohta õpime järgmises õpetuses.
Looge lugeja
A loomiseks Reader
peame java.io.Reader
esmalt pakendi importima . Kui pakett on imporditud, saate lugeja luua järgmiselt.
// Creates a Reader Reader input = new FileReader();
Siin oleme loonud FileReader
klassi abil lugeja . Sellepärast, et Reader
see on abstraktne klass. Seega ei saa me objekti luua Reader
.
Märkus . Võime luua lugejaid ka muudest alamklassidest Reader
.
Lugeja meetodid
Reader
Klassi pakub erinevaid meetodeid, mida rakendatakse selle alamklassiks. Siin on mõned levinumad meetodid:
ready()
- kontrollib, kas lugeja on lugemiseks valmisread(char() array)
- loeb voost märke ja salvestab määratud massiiviread(char() array, int start, int length)
- loeb voost pikkusega võrdse tähemärkide arvu ja salvestab algusest peale määratud massiivimark()
- tähistab voos asukohta, kuhu andmed on loetudreset()
- tagastab juhtnupu voos punkti, kus märk on seatudskip()
- loobub voost määratud arvu tähemärke
Näide: Reader FileReaderi abil
Siit saate teada, kuidas klassi Reader
abil rakendada FileReader
.
Oletame, et meil on järgmise sisuga fail nimega input.txt .
This is a line of text inside the file.
Proovime seda faili lugeda FileReader
(alamklassiga 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(); ) ) )
Väljund
Kas voos on andmeid? true Andmed voos: see on failirea tekstirida.
Ülaltoodud näites oleme loonud FileReader
klassi abil lugeja . Lugeja on lingitud failiga input.txt .
Reader input = new FileReader("input.txt");
Andmete lugemiseks failist input.txt oleme need meetodid rakendanud.
input.read(); // to read data from the reader input.close(); // to close the reader
Lisateabe saamiseks külastage Java Readerit (ametlik Java dokumentatsioon).