Java Reader (s příkladem)

V tomto výukovém programu se na příkladu seznámíme s Java Readerem, jeho podtřídami a metodami.

ReaderTřída java.iobalíčku je abstraktní nadtřída, která představuje proud znaků.

Jelikož Readerjde o abstraktní třídu, není sama o sobě užitečná. Jeho podtřídy však lze použít ke čtení dat.

Podtřídy Readeru

Abychom mohli využít funkčnost Reader, můžeme použít její podtřídy. Někteří z nich jsou:

  • Vyrovnávací paměť
  • InputStreamReader
  • FileReader
  • StringReader

O všech těchto podtřídách se dozvíme v dalším kurzu.

Vytvořte čtečku

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

 // Creates a Reader Reader input = new FileReader(); 

Zde jsme pomocí FileReadertřídy vytvořili čtečku . Je to proto, že Readerjde o abstraktní třídu. Proto nemůžeme vytvořit objekt Reader.

Poznámka : Můžeme také vytvářet čtečky z jiných podtříd třídy Reader.

Metody čtečky

ReaderTřída poskytuje různé metody, které jsou implementovány jejích podtříd. Zde jsou některé z běžně používaných metod:

  • ready() - zkontroluje, zda je čtečka připravena ke čtení
  • read(char() array) - načte znaky ze streamu a uloží je do zadaného pole
  • read(char() array, int start, int length) - načte počet znaků rovných délce ze streamu a uloží do zadaného pole od začátku
  • mark() - označí pozici v proudu, do které byla načtena data
  • reset() - vrátí ovládací prvek do bodu v proudu, kde je nastavena značka
  • skip() - zahodí zadaný počet znaků ze streamu

Příklad: Čtečka pomocí FileReaderu

Zde je způsob, jak můžeme implementovat Readerpomocí FileReadertřídy.

Předpokládejme, ž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 tento soubor přečíst pomocí FileReader(podtřídy Reader).

 import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Výstup

Jsou ve streamu data? true Data v proudu: Toto je řádek textu uvnitř souboru.

Ve výše uvedeném příkladu jsme pomocí FileReadertřídy vytvořili čtečku . Čtečka je propojena se souborem input.txt .

 Reader input = new FileReader("input.txt"); 

Pro čtení dat ze souboru input.txt jsme implementovali tyto metody.

 input.read(); // to read data from the reader input.close(); // to close the reader 

Chcete-li se dozvědět více, navštivte Java Reader (oficiální dokumentace Java).

Zajímavé články...