Java StringBufferInputStream Class
De StringBufferInoutStream-klassen i Java lar oss lage en inngangsstrøm fra en streng slik at vi kan lese byte fra den. Det fungerer bare med de nederste 8 bitene av hvert tegn. Det kan ikke håndtere hele spekteret av tegnverdier. I stedet for å bruke denne klassen er den beste tilnærmingen å bruke ByteArrayInputStream som ikke har denne begrensningen, kan den lese hele spekteret av tegnverdier.
Note: StringBufferInputStream har blitt avviklet av Oracle.
Erklæring av StringBufferInputStream Class
Erklæringen for StringBufferInputStream-klassen er nedenfor:
public class StringBufferInputStream utvider InputStream
Konstruktører i StringBufferInputStream
Denne klassen består av én konstruktør ved hjelp av hvilken vi kan lage et objekt av denne klassen.
1. StringBufferInputStream(String str): T konstruktøren hans brukes til å lage en strenginndatastrøm for å lese data fra en spesifisert streng.
Syntaks:
StringBufferInputStream(String str)
Eksempel:
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 (); } } }
Produksjon
Hello World!
Java StringBufferStream-metoder
Bildet nedenfor viser metodene til PipedWriter-klassen.
Nå skal vi diskutere hver metode en etter en i detalj:
1. les(): Denne metoden brukes til å lese en byte med data fra inngangsstrømmen
Syntaks:
public int read()
- Parameter: Denne metoden tar ikke noen parameter.
- Returtype: Denne metoden returnerer lesetegnet som et heltall ellers returnerer -1 når slutten av strømmen er nådd.
2. les(byte[] buffer int offset int maxlen): Denne metoden brukes til å lese et spesifikt antall tegn fra en buffer.
Syntaks:
public int read(byte[] buffer int offset int maxlen)
- Parameter: Denne metoden tar tre parametere som er oppført nedenfor:
- buffer: Det er en rekke for å lagre karakterer
- offset: Det er startposisjonen fra hvor man skal lagre karakter
- maxlen: Det er maksimalt antall tegn å lese.
- Returtype: Denne metoden returnerer maksimalt antall tegn å lese, ellers returnerer -1 når slutten av strømmen er nådd.
3. tilbakestill(): Denne metoden brukes til å tilbakestille strømmen og på grunn av dette starter lesingen fra begynnelsen.
Syntaks:
offentlig void reset()
- Parameter: Denne metoden tar ikke noen parameter.
- Returtype: Denne metoden returnerer ikke noe.
4. hopp over (lang n): Denne metoden brukes til å hoppe over og ignorere noen tegn i inndatastrømmen.
Syntaks:
offentlig langt hopp (lang n)
- Parameter: Denne metoden tar en enkelt parameter n som er antall byte som skal hoppes over
- Returtype: Denne metoden returnerer det faktiske antallet byte hoppet over.
5. tilgjengelig(): Denne metoden forteller hvor mange tegn som er igjen å lese i inndatastrømmen
Syntaks:
offentlig int tilgjengelig()
- Parameter: Denne metoden tar ikke noen parameter
- Returtype: Denne metoden returnerer antall tegn som kan leses fra inndatastrømmen.
Java-program som illustrerer hvordan StringBufferInputStream-klassemetoder fungerer
Nå i eksemplet nedenfor vil vi se hvordan alle metodene fungerer.
Eksempel:
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 ); } } }
Produksjon
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 GeeksLag quiz