Java puhverdatud lugeja (koos näidetega)

Selles õpetuses õpime näidete abil Java BufferedReaderit ja selle meetodeid.

BufferedReaderKlassi java.iopakett saab kasutada teiste lugejate lugeda andmeid (märki) tõhusamalt.

See laiendab abstraktset klassi Reader.

Puhverdatud lugeja töö

BufferedReaderVäidab sisemine puhver 8192 tähemärki .

Aastal lugemise ajal loetakse BufferedReaderkettalt 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 BufferedReaderpeame java.io.BuferedReaderesmalt 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 BufferedReadernimelise puhvri FileReader.

Siin on sisemise puhvri BufferedReadervaikimisi 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

BufferedReaderTasemega näeb implementation erinevaid meetodeid esinevad Reader.

loe () meetod

  • read() - loeb lugeja sisemisest puhvrist ühe tähemärgi
  • read(char() array) - loeb tähemärke lugejast ja salvestab määratud massiivi
  • read(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).

Huvitavad Artiklid...