Java BufferedReader (s príkladmi)

V tomto výučbe sa pomocou príkladov dozvieme o prostredí Java BufferedReader a jeho metódach.

BufferedReaderTrieda java.ioobalu možno použiť s ostatnými čitateľmi čítať dáta (písmenami) efektívnejšie.

Rozširuje abstraktnú triedu Reader.

Fungovanie BufferedReader

BufferedReaderUdržuje vnútornej vyrovnávacej pamäte 8192 znakov .

Počas operácie BufferedReadernačítania sa z disku načíta skupina znakov a uloží sa do internej medzipamäte. A z interného bufferu sa znaky čítajú jednotlivo.

Preto sa zníži počet komunikácií na disk. Preto je čítanie znakov rýchlejšie BufferedReader.

Vytvorte BufferedReader

Aby sme vytvorili BufferedReader, musíme najskôr importovať java.io.BuferedReaderbalík. Po importovaní balíka tu môžeme vytvoriť čítačku.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

Vo vyššie uvedenom príklade sme vytvorili BufferedReaderpomenovanú vyrovnávaciu pamäť s FileReaderpomenovaným súborom.

Tu má interná vyrovnávacia pamäť BufferedReaderpredvolenú veľkosť 8192 znakov. Môžeme však určiť aj veľkosť internej medzipamäte.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Vyrovnávacia pamäť pomôže rýchlejšie načítať znaky zo súborov.

Metódy BufferedReader

BufferedReaderTrieda poskytuje implementácie pre rôzne metódy prítomných v Reader.

metóda read ()

  • read() - načíta jeden znak z internej vyrovnávacej pamäte čítačky
  • read(char() array) - načíta znaky z čítačky a uloží ich do zadaného poľa
  • read(char() array, int start, int length) - načíta z čítačky počet znakov rovný dĺžke a uloží do určeného poľa počnúc začiatkom pozície

Predpokladajme napríklad, že máme súbor s názvom input.txt s nasledujúcim obsahom.

 This is a line of text inside the file. 

Pokúsme sa prečítať súbor pomocou 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ýkon

 Údaje v súbore: Toto je riadok textu vo vnútri súboru. 

Vo vyššie uvedenom príklade sme vytvorili čítaciu pamäť s názvom buffer. Čítačka v medzipamäti je prepojená so súborom input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Tu sme použili read()metódu na načítanie poľa znakov z vnútornej medzipamäte čítačky s medzipamäťou.

metóda skip ()

Na zahodenie a preskočenie zadaného počtu znakov môžeme použiť skip()metódu. Napríklad,

 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ýkon

 Údaje po preskočení 5 znakov: je riadok textu vo vnútri súboru. 

Vo vyššie uvedenom príklade sme použili skip()metódu na preskočenie 5 znakov z čítačky súborov. Z tohto dôvodu, charaktery 'T', 'h', 'i', 's'a ' 'sú vynechané z pôvodného súboru.

metóda close ()

Na zatvorenie čítačky s medzipamäťou môžeme použiť túto close()metódu. Po close()zavolaní metódy nemôžeme na čítanie údajov použiť čítačku.

Ďalšie metódy BufferedReader

Metóda Popis
ready() skontroluje, či je čítačka súborov pripravená na čítanie
mark() označte v čítačke pozíciu, do ktorej boli načítané údaje
reset() vráti ovládací prvok do bodu v čítačke, kde bola nastavená značka

Ak sa chcete dozvedieť viac, navštívte Java BufferedReader (oficiálna dokumentácia Java).

Zaujímavé články...