logo

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.

java niz sadrži

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.

io.StringBufferInputStream klasa u Javi' title=


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)

što je abecedni broj
  • 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 Geeks
Napravi kviz