Java StringBufferInputStream klasse
De StringBufferInoutStream klasse i Java giver os mulighed for at oprette en inputstrøm fra en streng, så vi kan læse bytes fra den. Det virker kun med de nederste 8 bits af hvert tegn. Det kan ikke håndtere hele rækken af tegnværdier. I stedet for at bruge denne klasse er den bedste tilgang at bruge ByteArrayInputStream som ikke har denne begrænsning, kan den læse hele rækken af tegnværdier.
Note: StringBufferInputStream er blevet forældet af Oracle.
Erklæring af StringBufferInputStream Class
Erklæringen for StringBufferInputStream-klassen er nedenfor:
public class StringBufferInputStream udvider InputStream
Konstruktører i StringBufferInputStream
Denne klasse består af en konstruktør, ved hjælp af hvilken vi kan skabe et objekt af denne klasse.
1. StringBufferInputStream(String str): T hans konstruktør bruges til at oprette en strenginputstrøm til at læse data fra en specificeret 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 (); } } }
Produktion
Hello World!
Java StringBufferStream-metoder
Billedet nedenfor viser metoderne til PipedWriter-klassen.
Nu skal vi diskutere hver metode en efter en i detaljer:
1. læs(): Denne metode bruges til at læse en byte af data fra inputstrømmen
Syntaks:
public int read()
- Parameter: Denne metode tager ikke nogen parameter.
- Returtype: Denne metode returnerer læsetegnet som et heltal ellers returnerer -1, når slutningen af strømmen nås.
2. read(byte[] buffer int offset int maxlen): Denne metode bruges til at læse et bestemt antal tegn fra en buffer.
Syntaks:
public int read(byte[] buffer int offset int maxlen)
- Parameter: Denne metode tager tre parametre, som er anført nedenfor:
- buffer: Det er et array til at gemme tegn
- offset: Det er startpositionen, hvorfra man skal gemme karakter
- maxlen: Det er det maksimale antal tegn at læse.
- Returtype: Denne metode returnerer det maksimale antal tegn at læse ellers returnerer -1 når slutningen af streamen nås.
3. nulstil():
Syntaks:
offentlig ugyldig nulstilling()
- Parameter: Denne metode tager ikke nogen parameter.
- Returtype: Denne metode returnerer ikke noget.
4. spring over (langt n): Denne metode bruges til at springe over og ignorere nogle tegn i inputstrømmen.
Syntaks:
offentligt langt overspring (langt n)
- Parameter: Denne metode tager en enkelt parameter n, som er antallet af bytes, der skal springes over
- Returtype: Denne metode returnerer det faktiske antal bytes, der er sprunget over.
5. tilgængelig(): Denne metode fortæller, hvor mange tegn der er tilbage at læse i inputstrømmen
Syntaks:
offentlig int tilgængelig()
- Parameter: Denne metode tager ikke nogen parameter
- Returtype: Denne metode returnerer antallet af tegn, der kan læses fra inputstrømmen.
Java-program, der illustrerer arbejdet med StringBufferInputStream-klassemetoder
I eksemplet nedenfor vil vi se, hvordan alle metoderne 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 ); } } }
Produktion
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 GeeksOpret quiz