În acest tutorial, vom afla despre Java BufferedReader și metodele sale cu ajutorul unor exemple.
BufferedReader
Clasa a java.io
pachetului poate fi utilizat împreună cu alți cititori pentru a citi date (în caractere) mai eficient.
Extinde clasa abstractă Reader
.
Funcționarea BufferedReader
BufferedReader
Menține un intern tampon de 8192 caractere .
În timpul operației de citire BufferedReader
, un fragment de caractere este citit de pe disc și stocat în buffer-ul intern. Și din bufferul intern caracterele sunt citite individual.
Prin urmare, numărul de comunicații pe disc este redus. Acesta este motivul pentru care citirea caracterelor este mai rapidă BufferedReader
.
Creați un BufferedReader
Pentru a crea un BufferedReader
, trebuie să importăm mai java.io.BuferedReader
întâi pachetul. Odată ce am importat pachetul, iată cum putem crea cititorul.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
În exemplul de mai sus, am creat un BufferedReader
tampon numit cu FileReader
fișierul numit.
Aici, buffer-ul intern al BufferedReader
dimensiunii implicite este de 8192 de caractere. Cu toate acestea, putem specifica și dimensiunea bufferului intern.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Tamponul va ajuta la citirea mai rapidă a caracterelor din fișiere.
Metode de BufferedReader
BufferedReader
Clasa oferă implementări pentru diferite metode prezente în Reader
.
read () Metodă
read()
- citește un singur caracter din buffer-ul intern al cititoruluiread(char() array)
- citește caracterele din cititor și stochează în matricea specificatăread(char() array, int start, int length)
- citește numărul de caractere egal cu lungimea de la cititor și stochează în matricea specificată începând de la începutul poziției
De exemplu, să presupunem că avem un fișier numit input.txt cu următorul conținut.
This is a line of text inside the file.
Să încercăm să citim fișierul folosind 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(); ) ) )
Ieșire
Date din fișier: Aceasta este o linie de text din interiorul fișierului.
În exemplul de mai sus, am creat un cititor tampon numit input. Cititorul tamponat este legat de fișierul input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Aici, am folosit read()
metoda pentru a citi o serie de caractere din buffer-ul intern al cititorului buffered.
skip () Metodă
Pentru a elimina și a omite numărul specificat de caractere, putem folosi skip()
metoda. De exemplu,
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(); ) ) )
Ieșire
Date după omiterea a 5 caractere: este o linie de text din interiorul fișierului.
În exemplul de mai sus, am folosit skip()
metoda pentru a sări peste 5 caractere din cititorul de fișiere. Prin urmare, personajele 'T'
, 'h'
, 'i'
, 's'
și ' '
sunt omise din fișierul original.
close () Metoda
Pentru a închide cititorul tampon, putem folosi close()
metoda. Odată close()
apelată metoda, nu putem folosi cititorul pentru a citi datele.
Alte metode ale BufferedReader
Metodă | Descriere |
---|---|
ready() | verifică dacă cititorul de fișiere este gata de citire |
mark() | marcați poziția în cititor până la care au fost citite datele |
reset() | returnează controlul la punctul din cititor unde a fost setată marca |
Pentru a afla mai multe, vizitați Java BufferedReader (documentație oficială Java).