Razred Java StringBufferInputStream
The Razred StringBufferInoutStream v Javi nam omogoča, da ustvarimo vhodni tok iz niza, tako da lahko beremo bajte iz njega. Deluje samo z nižjimi 8 biti vsakega znaka. Ne more obdelati celotnega obsega vrednosti znakov. Namesto uporabe tega razreda je najboljši pristop uporaba ByteArrayInputStream ki nima te omejitve, lahko prebere celoten obseg znakovnih vrednosti.
Opomba: Oracle je opustil StringBufferInputStream.
Deklaracija razreda StringBufferInputStream
Deklaracija razreda StringBufferInputStream je spodaj:
javni razred StringBufferInputStream razširja InputStream
Konstruktorji v StringBufferInputStream
Ta razred je sestavljen iz enega konstruktorja, s pomočjo katerega lahko ustvarimo objekt tega razreda.
1. StringBufferInputStream(String str): T njegov konstruktor se uporablja za ustvarjanje vhodnega toka niza za branje podatkov iz določenega niza.
Sintaksa:
StringBufferInputStream(String str)
primer:
Java // Demonstrating the working // of StringBufferInputStream(String str) import java.io.* ; public class Geeks { public static void main ( String [] args ) { // Creating a String to be used with StringBufferInputStream String str = 'Hello World!' ; // Creating StringBufferInputStream from the String StringBufferInputStream is = new StringBufferInputStream ( str ); // Reading bytes from the StringBufferInputStream int data ; try { while (( data = is . read ()) != - 1 ) { // Print each byte as a character System . out . print (( char ) data ); } is . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Izhod
Hello World!
Metode Java StringBufferStream
Spodnja slika prikazuje metode razreda PipedWriter.
Zdaj bomo podrobno razpravljali o vsaki metodi posebej:
1. preberi(): Ta metoda se uporablja za branje bajta podatkov iz vhodnega toka
Sintaksa:
public int read()
- Parameter: Ta metoda ne zajema nobenega parametra.
- Vrsta vračila: Ta metoda vrne znak za branje kot celo število, sicer vrne -1, ko je dosežen konec toka.
2. read(byte[] buffer int offset int maxlen): Ta metoda se uporablja za branje določenega števila znakov iz medpomnilnika.
Sintaksa:
- Parameter: Ta metoda zahteva tri parametre, ki so navedeni spodaj:
- medpomnilnik: Je niz za shranjevanje znakov
- odmik: To je začetni položaj, od koder lahko shranite značaj
- maxlen: To je največje število znakov za branje.
- Vrsta vračila: Ta metoda vrne največje število znakov za branje, sicer vrne -1, ko je dosežen konec toka.
3. ponastavi(): Ta metoda se uporablja za ponastavitev toka in zaradi tega se branje začne od začetka.
Sintaksa:
javna praznina ponastavi()
- Parameter: Ta metoda ne zajema nobenega parametra.
- Vrsta vračila: Ta metoda ne vrne ničesar.
4. preskoči (dolg n): Ta metoda se uporablja za preskok in ignoriranje nekaterih znakov v vhodnem toku.
Sintaksa:
javni dolgi preskok (dolgi n)
- Parameter: Ta metoda vzame en sam parameter n, ki je število bajtov, ki jih je treba preskočiti
- Vrsta vračila: Ta metoda vrne dejansko število preskočenih bajtov.
5. na voljo(): Ta metoda pove, koliko znakov je ostalo za branje v vhodnem toku
Sintaksa:
javni int na voljo()
- Parameter: Ta metoda ne sprejme nobenega parametra
- Vrsta vrnitve: Ta metoda vrne število znakov, ki jih je mogoče prebrati iz vhodnega toka.
Program Java, ki ponazarja delovanje metod razreda StringBufferInputStream
V spodnjem primeru bomo videli delovanje vseh metod.
primer:
Java // Demonstrating the working of // read() read(byte[] buffer int offset int maxlen) // reset() skip(long n) available() import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { String s1 = 'Hello Geeks' ; String s2 = 'GeeksForGeeks' ; StringBufferInputStream b1 = new StringBufferInputStream ( s1 ); StringBufferInputStream b2 = new StringBufferInputStream ( s2 ); // available() System . out . println ( 'Use of available() 1: ' + b1 . available ()); int a ; System . out . println ( 'Use of read() method:' ); while (( a = b1 . read ()) != - 1 ) { char c = ( char ) a ; System . out . println ( c ); // skip() b1 . skip ( 1 ); } System . out . println ( 'Use of available() 2: ' + b2 . available ()); byte [] byteBuffer = new byte [ 15 ] ; b2 . read ( byteBuffer 1 2 ); int b ; System . out . print ( 'Remaining characters after partial read: ' ); while (( b = b2 . read ()) != - 1 ) { System . out . print (( char ) b ); } // reset() b1 . reset (); System . out . print ( 'nAfter reset(): ' ); int i ; while (( i = b1 . read ()) != - 1 ) { System . out . print (( char ) i ); } } }
Izhod
Use of available() 1: 11 Use of read() method: H l o G e s Use of available() 2: 13 Remaining characters after partial read: eksForGeeks After reset(): Hello GeeksUstvari kviz