U ovom uputstvu uz primjere ćemo naučiti o Javi BufferedReader i njegovim metodama.
BufferedReaderRazred java.iopaket se može koristiti s ostalim čitateljima čitati podatke (u znakovima) učinkovitije.
Proširuje apstraktnu klasu Reader.

Rad BufferedReader-a
BufferedReaderOdržava unutarnju tampon od 8192 znakova .
Tijekom operacije čitanja BufferedReader, dio znakova se čita s diska i pohranjuje u unutarnji međuspremnik. A iz internog međuspremnika znakovi se čitaju pojedinačno.
Stoga se smanjuje broj komunikacije s diskom. Zbog toga se čitanje znakova brže koristi BufferedReader.
Stvorite BufferedReader
Da bismo stvorili BufferedReader, prvo moramo uvesti java.io.BuferedReaderpaket. Nakon što uvozimo paket, evo kako možemo stvoriti čitač.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
U gornjem primjeru stvorili smo BufferedReaderimenovani međuspremnik s FileReaderimenovanom datotekom.
Ovdje unutarnji međuspremnik BufferedReaderima zadanu veličinu od 8192 znaka. Međutim, možemo odrediti i veličinu unutarnjeg međuspremnika.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Me uspremnik pomoći će bržem čitanju znakova iz datoteka.
Metode BufferedReader-a
BufferedReaderKlasa pruža implementacije za različite metode prisutne u Reader.
read () metoda
read()- čita jedan znak iz unutarnjeg međuspremnika čitačaread(char() array)- čita znakove iz čitača i pohranjuje u navedeni nizread(char() array, int start, int length)- očitava iz čitača broj znakova jednak duljini i pohranjuje u navedeni niz počevši od početka položaja
Na primjer, pretpostavimo da imamo datoteku koja se zove input.txt sa sljedećim sadržajem.
This is a line of text inside the file.
Pokušajmo datoteku pročitati pomoću 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(); ) ) )
Izlaz
Podaci u datoteci: Ovo je redak teksta unutar datoteke.
U gornjem primjeru stvorili smo međuspremnik s imenom input. Me uspremnik je povezan s datotekom input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Ovdje smo read()metodu koristili za čitanje niza znakova iz unutarnjeg međuspremnika međuspremnika.
preskoči () Metoda
Da bismo odbacili i preskočili navedeni broj znakova, možemo se poslužiti skip()metodom. Na primjer,
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(); ) ) )
Izlaz
Podaci nakon preskakanja 5 znakova: redak je teksta unutar datoteke.
U gornjem primjeru koristili smo skip()metodu za preskakanje 5 znakova iz čitača datoteka. Dakle, likovi 'T', 'h', 'i', 's'i ' 'preskaču iz izvorne datoteke.
close () Metoda
Da bismo zatvorili međuspremnik, možemo koristiti close()metodu. Jednom kada se close()metoda pozove, ne možemo koristiti čitač za čitanje podataka.
Ostale metode BufferedReader-a
| Metoda | Opis |
|---|---|
ready() | provjerava je li čitač datoteka spreman za čitanje |
mark() | označite položaj u čitaču do kojeg su podaci pročitani |
reset() | vraća kontrolu na točku u čitaču gdje je postavljena oznaka |
Da biste saznali više, posjetite Java BufferedReader (službena Java dokumentacija).








