Java PushbackReader klasė
The PushbackReader klasė Java yra dalis java.io.package ir naudojamas simboliams iš srauto skaityti. Ši klasė leidžia grąžinti veikėjus į srautą.
PushbackReader klasės savybės:
- Ši klasė naudoja buferį, kuris leidžia mums perkelti simbolius atgal į srautą.
- Ši klasė puikiai tinka skaityti tekstą ir tikrinti simbolius iš karto jų nenaudojant. Jei veikėjas nereikalingas, jį galima nustumti atgal.
Pavyzdys:
Java // Demonstrating the working // of PushbackReader import java.io.* ; public class Geeks { public static void main ( String [] args ) { String s = 'Hello World!' ; StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader ( sr ); try { // Read the first character int char1 = pr . read (); System . out . println ( 'Read character: ' + ( char ) char1 ); // Push this character back into the stream pr . unread ( char1 ); // Read the same character again (since we pushed it back) int char2 = pr . read (); System . out . println ( 'Read character again: ' + ( char ) char2 ); // Continue reading the next character int char3 = pr . read (); System . out . println ( 'Next character: ' + ( char ) char3 ); // Close the reader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Išvestis
Read character: H Read character again: H Next character: e
PushbackReader klasės deklaracija
PushbackReader klasės deklaracija pateikiama toliau:
viešoji klasė PushbackReader išplečia FilterReader
Visos įdiegtos sąsajos:
- Užsidaro: Ši sąsaja naudojama ištekliams išleisti
- Automatinis uždarymas: Ši sąsaja leidžia automatiškai uždaryti ataskaitoje „bandyti su ištekliais“.
- Skaitoma: Ši sąsaja naudojama duomenims iš objekto nuskaityti.
PushbackReader konstruktoriai
Ši klasė susideda iš dviejų konstruktorių, kurių pagalba galime sukurti šios klasės objektą įvairiais būdais. Šioje klasėje galimi šie konstruktoriai:
1. „PushbackReader“ (skaitytojo paspaudimas): Šis konstruktorius naudojamas kuriant naują PushbackReader su numatytuoju atšaukimo buferiu.
Sintaksė:
viešas „PushbackReader“ (skaitytojo paspaudimas)
Pavyzdys:
Java // Demonstrating the working // of PushbackReader(Reader push) import java.io.* ; public class Geeks { public static void main ( String [] args ) { // String to be read String s = 'Hello World!' ; // Create a StringReader to read from the string StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader ( sr ); try { // Read and print characters int charRead ; while (( charRead = pr . read ()) != - 1 ) { System . out . print (( char ) charRead ); } // Close the PushbackReader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Išvestis
Hello World!
2. PushbackReader (Reader push int dydis): Šis konstruktorius leidžia mums nurodyti atgalinio buferio dydį
Sintaksė:
viešas „PushbackReader“ (skaitytojo „push-int“ dydis)
Pavyzdys:
Java // Demonstrating the working // of PushbackReader(Reader push int size) import java.io.* ; public class Geeks { public static void main ( String [] args ) { // String to be read String s = 'Hello World!' ; // Create a StringReader to read from the string StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader // and a specified buffer size of 20 PushbackReader pr = new PushbackReader ( sr 20 ); try { // Read and print characters int charRead ; while (( charRead = pr . read ()) != - 1 ) { System . out . print (( char ) charRead ); } // Close the PushbackReader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Išvestis
Hello World!
„Java PushbackReader“ metodai
Žemiau esančiame paveikslėlyje pavaizduoti CharArrayWriter klasės metodai.
Dabar mes išsamiai aptarsime kiekvieną metodą po vieną:
1. skaityti (): Šis metodas naudojamas vienu metu iš srauto nuskaityti po vieną simbolį
Sintaksė:
viešai skaityti ()
- Parametras: Šis metodas nereikalauja jokių parametrų.
- Grąžinimo tipas: Šis metodas grąžina nuskaitytą simbolį kaip sveikąjį skaičių arba grąžina -1, kai pasiekiama srauto pabaiga.
2. skaityti(char[] carray int offset int maxlen): Šis metodas naudojamas norint nuskaityti simbolių dalį.
Sintaksė:
viešas int skaitymas(char[] carray int offset int maxlen)
- Parametras: Šis metodas apima tris toliau išvardytus parametrus
- char[] carray: Tai simbolių masyvas, kuriame bus skaitomi simboliai saugomi.
- tarpinis poslinkis: Tai yra pradinė padėtis masyve
- int maxlen: Tai didžiausias skaitomų simbolių skaičius.
- Grąžinimo tipas: Šis metodas grąžina perskaitytų simbolių skaičių
3. uždaryti (): Šis metodas naudojamas skaitytojui uždaryti
Sintaksė:
vieša galia uždaryti ()
- Parametras: Šis metodas nereikalauja jokių parametrų
- Grąžinimo tipas: Šis metodas nieko negrąžina.
4. mark(int readAheadLimit): Šis metodas naudojamas dabartinei padėčiai sraute pažymėti
Sintaksė:
viešas tuščias ženklas (int readAheadLimit)
- Parametras: Šis metodas apima vieną parametrą readAheadLimit, kuris nurodo maksimalų simbolių skaičių, kurį galima nuskaityti, kol ženklo padėtis tampa negaliojanti.
- Grąžinimo tipas: Šis metodas nieko negrąžina
5. praleisti (ilgas n): Šis metodas naudojamas praleisti tam tikrą skaičių simbolių.
Sintaksė:
viešas ilgas praleidimas (ilgas n)
- Parametras: Šis metodas apima vieną n ilgio parametrą, kuris yra sraute praleistų simbolių skaičius.
- Grąžinimo tipas: Šis metodas grąžina praleistų simbolių skaičių
6. atstatyti (): Šis metodas naudojamas norint grįžti į vietą, kurioje buvo iškviestas mark().
Sintaksė:
public void reset ()
- Parametras: Šis metodas nereikalauja jokių parametrų
- Grąžinimo tipas: Šis metodas nieko negrąžina
7. žymėti palaikoma(): Šis metodas nurodo, ar srautas palaiko žymėjimą, ar ne
Sintaksė:
viešas loginis ženklasPalaikomas()
- Parametras: Šis metodas nereikalauja jokių parametrų
- Grąžinimo tipas: Šis metodas grąžina klaidingą, nes žymėjimas nepalaikomas.
8. paruošta(): Šis metodas patikrina, ar srautas paruoštas skaityti, ar ne.
Sintaksė:
vieša loginė vertė ()
- Parametras: Šis metodas nereikalauja jokių parametrų
- Grąžinimo tipas: Šis metodas grąžina teisingą, jei srautas yra paruoštas.
9. neskaitytas (int c): Šis metodas naudojamas norint grąžinti veikėją į srautą.
Sintaksė:
public void neskaityta(int c)
- Parametras: Šis metodas paima vieną parametrą, kuris yra c, kuris yra simbolis, kuris turi būti stumiamas atgal į srautą.
- Grąžinimo tipas: Šis metodas nieko negrąžina.
10. neskaitytas(char[] carray): Šis metodas naudojamas norint grąžinti simbolių masyvą į srautą.
Sintaksė:
public void neskaityta(char[] carray)
- Parametras: Taikant šį metodą reikia daugybės simbolių, kurie bus grąžinti į srautą.
- Grąžinimo tipas: Šis metodas nieko negrąžina.
„Java“ programa, skirta „PushbackReader“ metodams demonstruoti
Pavyzdys:
Java // Demonstrating the working // of methods of PushbackReader class import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { String s = 'GeeksForGeeks' ; StringReader sr = new StringReader ( s ); PushbackReader pr = new PushbackReader ( sr ); // Check if the stream is ready System . out . println ( 'Is the stream ready? ' + pr . ready ()); // Use read() and skip() System . out . print ( 'Using read() and skip(): ' ); for ( int i = 0 ; i < 3 ; i ++ ) { char c = ( char ) pr . read (); // Read 1 char System . out . print ( c ); pr . skip ( 1 ); // Skip next char } char c = ( char ) pr . read (); // read next char after 3 skip cycles System . out . print ( c ); // Now read() with array – only 1 char expected char [] arr = new char [ 1 ] ; pr . read ( arr ); System . out . println ( 'nUsing read() with an array: ' + new String ( arr )); // Unread and read back pr . unread ( 'F' ); char nextChar = ( char ) pr . read (); System . out . println ( 'After unread() the next character: ' + nextChar ); // Close the reader pr . close (); } }
Išvestis
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FSukurti viktoriną