Trieda Java Reader
Trieda Reader v Jave je an abstraktná trieda na čítanie prúdov znakov. Jeho podtriedy ( FileReader BufferedReade ) poskytujú implementácie, pričom read() je hlavnou metódou čítania znakov.
- Implementuje rozhranie Readable, ktoré definuje metódu read(CharBuffer cb).
- Implementuje rozhranie Closeable, ktoré definuje metódu close() na uvoľnenie zdrojov.
Čitateľ Vyhlásenie čitateľskej triedy
Vyhlásenie o triede čitateľa je uvedené nižšie:
public abstract class Reader implementuje Readable Closeable
Príklad: Čítajte textový súbor znak po znaku pomocou triedy Reader.
Java import java.io.* ; public class Geeks { public static void main ( String [] args ) { try { // Create a FileReader object which is a subclass of Reader Reader r = new FileReader ( 'example1.txt' ); // Read one character at a time from the file int data = r . read (); while ( data != - 1 ) { // Convert the int to char and print System . out . print (( char ) data ); data = r . read (); } // Close the reader r . close (); } catch ( Exception ex ) { System . out . println ( 'An error occurred: ' + ex . getMessage ()); } } }
výstup:
výstup Poznámka: Na zabezpečenie správneho chodu programu vytvorte v pracovnom adresári súbor s názvom example1.txt.
Pridajte do súboru nasledujúci obsah alebo môžete pridať ľubovoľný text.
Dobrý deň, vitajte v Geeks for Geeks
Uložte súbor a spustite program. Program prečíta a zobrazí obsah príkladu 1 .txt ako výstup.
Konštruktéri čitateľskej triedy
V triede Java Reader sa používajú dva konštruktory, ako je uvedené nižšie:
- chránený Reader(): Vytvorí novú čítačku toku znakov, ktorej kritické časti sa budú synchronizovať na samotnej čítačke.
- chránená čítačka (zámok objektu) : Vytvorí novú čítačku toku znakov, ktorej kritické časti sa budú synchronizovať na danom objekte.
Metódy triedy Java Reader
| Metóda | Popis |
|---|---|
| abstraktné void close() | Zatvorí stream a uvoľní zdroje. |
| void mark (int readAheadLimit) | Označuje aktuálnu pozíciu v streame. |
| boolean markSupported() | Skontroluje, či sú podporované operácie označenia/resetovania. |
| int read() | Prečíta jeden znak zo streamu. Vráti -1, ak sa dosiahne koniec. |
| int read(char[] cbuf) | Číta viacero znakov do poľa. |
| abstract int read(char[] cbuf int off int len) | Prečíta časť poľa začínajúcu od offsetu pre dĺžku len. |
| int read (cieľ CharBuffer) | Číta znaky do objektu CharBuffer. |
| void reset() | Resetuje stream na najnovšiu pozíciu značky. |
| dlhé preskočenie (dlhé n) | Preskočí zadaný počet znakov. |
Príklad: Nižšie uvedený program demonštruje fungovanie rôznych funkcií triedy Reader v jazyku Java.
Java import java.io.* ; import java.nio.CharBuffer ; import java.util.Arrays ; public class Geeks { public static void main ( String [] args ) throws IOException { // Open a file reader Reader r = new FileReader ( 'file.txt' ); PrintStream out = System . out ; // Create a character array and CharBuffer char [] buffer = new char [ 10 ] ; CharBuffer charBuffer = CharBuffer . wrap ( buffer ); // Check if the reader supports marking if ( r . markSupported ()) { r . mark ( 100 ); // Mark the current position out . println ( 'mark method is supported' ); } // Skip 5 characters in the stream r . skip ( 5 ); // Check if the stream is ready to read if ( r . ready ()) { // Read 10 characters into the buffer r . read ( buffer 0 10 ); out . println ( 'Buffer after reading 10 chars: ' + Arrays . toString ( buffer )); // Read characters into the CharBuffer r . read ( charBuffer ); out . println ( 'CharBuffer contents: ' + Arrays . toString ( charBuffer . array ())); // Read a single character out . println ( 'Next character: ' + ( char ) r . read ()); } // Close the reader r . close (); } }
výstup:
Výstup Realizácia čitateľských kurzov
Niektoré z implementácií tried Reader v jazyku Java sú uvedené nižšie:
- BufferedReader
- CharArrayReader
- FilterReader
- InputStreamReader
- PipedReader
- StringReader