Selles õpetuses õpime näidete abil Java BufferedReaderit ja selle meetodeid.
BufferedReader
Klassi java.io
pakett saab kasutada teiste lugejate lugeda andmeid (märki) tõhusamalt.
See laiendab abstraktset klassi Reader
.
Puhverdatud lugeja töö
BufferedReader
Väidab sisemine puhver 8192 tähemärki .
Aastal lugemise ajal loetakse BufferedReader
kettalt kett tüki märke ja salvestatakse sisemisse puhvrisse. Ja sisemisest puhvrist saab märke lugeda eraldi.
Seega väheneb kettale suhtlemise arv. Seetõttu on märkide lugemine kiirem BufferedReader
.
Looge puhverdatud lugeja
A loomiseks BufferedReader
peame java.io.BuferedReader
esmalt pakendi importima . Kui pakett on imporditud, saate lugeja luua järgmiselt.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
Ülaltoodud näites oleme loonud nimega failiga BufferedReader
nimelise puhvri FileReader
.
Siin on sisemise puhvri BufferedReader
vaikimisi suurus 8192 tähemärki. Siiski võime täpsustada ka sisemise puhvri suuruse.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Puhver aitab failidest tähemärke kiiremini lugeda.
Puhverdatud lugeja meetodid
BufferedReader
Tasemega näeb implementation erinevaid meetodeid esinevad Reader
.
loe () meetod
read()
- loeb lugeja sisemisest puhvrist ühe tähemärgiread(char() array)
- loeb tähemärke lugejast ja salvestab määratud massiiviread(char() array, int start, int length)
- loeb lugejalt pikkusega võrdse tähemärkide arvu ja salvestab määratud massiivi alates positsiooni algusest
Oletame näiteks, et meil on järgmise sisuga fail nimega input.txt .
This is a line of text inside the file.
Proovime faili lugeda BufferedReader
.
import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Väljund
Andmed failis: see on failirea tekstirida.
Ülaltoodud näites oleme loonud puhverdatud lugeja nimega sisend. Puhverdatud lugeja on lingitud failiga input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Siin oleme kasutanud read()
meetodit, et puhverdatud lugeja sisemisest puhvrist tähemassiivi lugeda.
skip () meetod
Määratud arvu märkide ära viskamiseks ja vahele jätmiseks saame seda skip()
meetodit kasutada . Näiteks,
import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Väljund
Andmed pärast 5 märgi vahele jätmist: on failirea tekstirida.
Ülaltoodud näites oleme skip()
meetodit kasutanud faililugejast 5 tähemärgi vahele jätmiseks. Seega tähemärki 'T'
, 'h'
, 'i'
, 's'
ja ' '
jäetakse vahele originaalfaili.
close () meetod
Puhverdatud lugeja sulgemiseks saame kasutada close()
meetodit. Kui close()
meetod on välja kutsutud, ei saa me andmete lugemiseks kasutada lugejat.
Muud puhverdatud lugeja meetodid
Meetod | Kirjeldus |
---|---|
ready() | kontrollib, kas faililugeja on lugemiseks valmis |
mark() | märkige lugejas koht, kuhu andmed on loetud |
reset() | tagastab juhtnupu lugeris punkti, kuhu märk pandi |
Lisateabe saamiseks külastage Java BufferedReader (Java ametlik dokumentatsioon).