Java StringBufferInputStream klasė
The StringBufferInoutStream klasė Java leidžia iš eilutės sukurti įvesties srautą, kad galėtume iš jos nuskaityti baitus. Jis veikia tik su 8 mažesniais kiekvieno simbolio bitais. Jis negali apdoroti viso simbolių reikšmių diapazono. Užuot naudoję šią klasę, geriausias būdas yra naudoti ByteArrayInputStream kuri neturi šio apribojimo, gali nuskaityti visą simbolių reikšmių diapazoną.
Pastaba: „Oracle“ nebenaudoja „StringBufferInputStream“.
„StringBufferInputStream“ klasės deklaracija
Toliau pateikiama „StringBufferInputStream“ klasės deklaracija:
viešoji klasė StringBufferInputStream išplečia InputStream
Konstruktoriai StringBufferInputStream
Ši klasė susideda iš vieno konstruktoriaus, kurio pagalba galime sukurti šios klasės objektą.
1. StringBufferInputStream(String str): T jo konstruktorius naudojamas eilutės įvesties srautui sukurti, kad būtų galima nuskaityti duomenis iš nurodytos eilutės.
Sintaksė:
Pavyzdys:
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 (); } } }
Išvestis
Hello World!
Java StringBufferStream metodai
Žemiau esančiame paveikslėlyje pavaizduoti PipedWriter klasės metodai.
Dabar mes išsamiai aptarsime kiekvieną metodą po vieną:
1. skaityti (): Šis metodas naudojamas duomenų baitui nuskaityti iš įvesties srauto
Sintaksė:
viešai skaityti ()
- Parametras: Šis metodas nereikalauja jokių parametrų.
- Grąžinimo tipas: Šis metodas grąžina skaitytą simbolį kaip sveikąjį skaičių, kitu atveju grąžina -1, kai pasiekiama srauto pabaiga.
2. read(byte[] buffer int offset int maxlen): Šis metodas naudojamas nuskaityti tam tikrą skaičių simbolių iš buferio.
Sintaksė:
viešasis int skaitymas(baitas[] buferis int offset int maxlen)
- Parametras: Šis metodas apima tris toliau nurodytus parametrus:
- buferis: Tai masyvas simboliams saugoti
- kompensuoti: Tai pradinė padėtis, nuo kurios reikia saugoti charakterį
- Maxlen: Tai didžiausias skaitomų simbolių skaičius.
- Grąžinimo tipas: Šis metodas grąžina didžiausią skaitomų simbolių skaičių, kitu atveju, kai pasiekiama srauto pabaiga, gaunama -1.
3. atstatyti (): Šis metodas naudojamas srautui iš naujo nustatyti, todėl skaitymas pradedamas nuo pradžių.
Sintaksė:
public void reset ()
- Parametras: Šis metodas nereikalauja jokių parametrų.
- Grąžinimo tipas: Šis metodas nieko negrąžina.
4. praleisti (ilgas n): Šis metodas naudojamas kai kuriems įvesties srauto simboliams praleisti ir nepaisyti.
Sintaksė:
viešas ilgas praleidimas (ilgas n)
- Parametras: Šis metodas naudoja vieną parametrą n, kuris yra baitų, kuriuos reikia praleisti, skaičius
- Grąžinimo tipas: Šis metodas grąžina tikrąjį praleistų baitų skaičių.
5. prieinama(): Šis metodas nurodo, kiek simbolių liko perskaityti įvesties sraute
Sintaksė:
prieinama viešai ()
- Parametras: šis metodas nenaudoja jokių parametrų
- Grąžinimo tipas: šis metodas grąžina simbolių, kuriuos galima nuskaityti iš įvesties srauto, skaičių.
Java programa, iliustruojanti StringBufferInputStream klasės metodų veikimą
Toliau pateiktame pavyzdyje pamatysime visų metodų veikimą.
Pavyzdys:
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 ); } } }
Išvestis
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 GeeksSukurti viktoriną