Java StringBufferInputStream klasa
The Klasa StringBufferInoutStream u Javi omogućuje nam stvaranje ulaznog toka iz niza tako da možemo čitati bajtove iz njega. Radi samo s nižih 8 bitova svakog znaka. Ne može obraditi cijeli niz vrijednosti znakova. Umjesto korištenja ove klase najbolji pristup je koristiti ByteArrayInputStream koji nema to ograničenje može čitati cijeli niz vrijednosti znakova.
Bilješka: Oracle je zastario StringBufferInputStream.
Deklaracija klase StringBufferInputStream
Deklaracija klase StringBufferInputStream je ispod:
javna klasa StringBufferInputStream proširuje InputStream
Konstruktori u StringBufferInputStream
Ova klasa se sastoji od jednog konstruktora uz pomoć kojeg možemo kreirati objekt ove klase.
1. StringBufferInputStream(String str): T njegov se konstruktor koristi za stvaranje ulaznog toka niza za čitanje podataka iz navedenog niza.
Sintaksa:
StringBufferInputStream(String str)
Primjer:
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 (); } } }
Izlaz
Hello World!
Java StringBufferStream metode
Slika ispod pokazuje metode klase PipedWriter.
Sada ćemo detaljno razmotriti svaku metodu jednu po jednu:
1. čitaj(): Ova se metoda koristi za čitanje bajta podataka iz ulaznog toka
Sintaksa:
public int read()
- Parametar: Ova metoda ne uzima nikakve parametre.
- Vrsta povrata: Ova metoda vraća znak za čitanje kao cijeli broj, inače vraća -1 kada se dosegne kraj toka.
2. read(byte[] buffer int offset int maxlen): Ova se metoda koristi za čitanje određenog broja znakova iz međuspremnika.
Sintaksa:
public int read(byte[] buffer int offset int maxlen)
- Parametar: Ova metoda uzima tri parametra koja su navedena u nastavku:
- pufer: To je niz za pohranu znakova
- pomak: To je početna pozicija s koje se pohranjuje karakter
- maxlen: To je najveći broj znakova za čitanje.
- Vrsta povrata: Ova metoda vraća najveći broj znakova za čitanje, inače vraća -1 kada se dosegne kraj toka.
3. reset(): Ova metoda se koristi za resetiranje toka i zbog toga čitanje počinje od početka.
Sintaksa:
javni void reset()
- Parametar: Ova metoda ne uzima nikakve parametre.
- Vrsta povrata: Ova metoda ne vraća ništa.
4. preskoči (dugo n): Ova se metoda koristi za preskakanje i ignoriranje nekih znakova u ulaznom toku.
Sintaksa:
javno dugo preskakanje (dugo n)
- Parametar: Ova metoda uzima jedan parametar n koji je broj bajtova za preskakanje
- Vrsta povrata: Ova metoda vraća stvarni broj preskočenih bajtova.
5. dostupno(): Ova metoda govori koliko je znakova preostalo za čitanje u ulaznom toku
Sintaksa:
public int dostupan()
- Parametar: Ova metoda ne uzima nijedan parametar
- Vrsta povrata: Ova metoda vraća broj znakova koji se mogu pročitati iz ulaznog toka.
Java program koji ilustrira rad metoda klase StringBufferInputStream
Sada ćemo u donjem primjeru vidjeti rad svih metoda.
Primjer:
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 ); } } }
Izlaz
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 GeeksNapravi kviz