U ovom uputstvu uz primjere ćemo naučiti o Javi BufferedReader i njegovim metodama.
BufferedReader
Razred java.io
paket se može koristiti s ostalim čitateljima čitati podatke (u znakovima) učinkovitije.
Proširuje apstraktnu klasu Reader
.
Rad BufferedReader-a
BufferedReader
Održ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.BuferedReader
paket. 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 BufferedReader
imenovani međuspremnik s FileReader
imenovanom datotekom.
Ovdje unutarnji međuspremnik BufferedReader
ima 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
BufferedReader
Klasa 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).