Java BufferedReader (s příklady)

V tomto výukovém programu se pomocí příkladů dozvíme o prostředí Java BufferedReader a jeho metodách.

BufferedReaderTřída java.ioobalu lze použít s ostatními čtenáři číst data (ve znacích) efektivněji.

Rozšiřuje abstraktní třídu Reader.

Práce s BufferedReader

BufferedReaderUdržuje vnitřní vyrovnávací paměti 8192 znaků .

Během operace čtení BufferedReaderje z disku načtena skupina znaků a uložena do interní vyrovnávací paměti. A z interní vyrovnávací paměti se čte znaky jednotlivě.

Proto je snížen počet komunikace na disk. Proto je čtení znaků rychlejší BufferedReader.

Vytvořte BufferedReader

Aby bylo možné vytvořit BufferedReader, musíme java.io.BuferedReadernejprve importovat balíček. Jakmile importujeme balíček, můžeme vytvořit čtečku takto.

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

Ve výše uvedeném příkladu jsme vytvořili BufferedReaderpojmenovanou vyrovnávací paměť s FileReaderpojmenovaným souborem.

Zde má vnitřní vyrovnávací paměť BufferedReadervýchozí velikost 8192 znaků. Můžeme však také určit velikost vnitřní vyrovnávací paměti.

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

Vyrovnávací paměť pomůže rychleji číst znaky ze souborů.

Metody BufferedReader

BufferedReaderTřída poskytuje implementace pro různé metody přítomných v Reader.

metoda read ()

  • read() - načte jeden znak z vnitřní vyrovnávací paměti čtečky
  • read(char() array) - načte znaky ze čtečky a uloží je do zadaného pole
  • read(char() array, int start, int length) - načte počet znaků rovných délce ze čtečky a uloží do zadaného pole počínaje od začátku pozice

Předpokládejme například, že máme soubor s názvem input.txt s následujícím obsahem.

 This is a line of text inside the file. 

Zkusme soubor přečíst pomocí 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ýstup

 Data v souboru: Toto je řádek textu uvnitř souboru. 

Ve výše uvedeném příkladu jsme vytvořili čtečku s názvem ve vyrovnávací paměti s názvem input. Čtečka ve vyrovnávací paměti je propojena se souborem input.txt .

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

Zde jsme použili read()metodu pro načtení pole znaků z interní vyrovnávací paměti čtečky s vyrovnávací pamětí.

metoda skip ()

K vyřazení a přeskočení zadaného počtu znaků můžeme použít skip()metodu. Napří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ýstup

 Data po přeskočení 5 znaků: je řádek textu uvnitř souboru. 

Ve výše uvedeném příkladu jsme použili skip()metodu k přeskočení 5 znaků ze čtečky souborů. Z tohoto důvodu, charaktery 'T', 'h', 'i', 's'a ' 'jsou vynechány z původního souboru.

metoda close ()

K uzavření čtečky s vyrovnávací pamětí můžeme použít close()metodu. Jakmile je close()metoda volána, nemůžeme použít čtečku ke čtení dat.

Další metody BufferedReader

Metoda Popis
ready() zkontroluje, zda je čtečka souborů připravena ke čtení
mark() označte ve čtečce pozici, do které byla načtena data
reset() vrátí ovládací prvek do bodu ve čtečce, kde byla nastavena značka

Další informace najdete v Java BufferedReader (oficiální dokumentace Java).

Zajímavé články...