Java StringBufferInputStream osztály

Java StringBufferInputStream osztály

A StringBufferInoutStream osztály Java nyelven lehetővé teszi, hogy egy karakterláncból bemeneti adatfolyamot hozzunk létre, hogy bájtokat tudjunk olvasni belőle. Csak az egyes karakterek alsó 8 bitjével működik. Nem tudja kezelni a karakterértékek teljes tartományát. Ennek az osztálynak a használata helyett a legjobb módszer a használata ByteArrayInputStream amely nem rendelkezik ezzel a korlátozással, a karakterértékek teljes tartományát ki tudja olvasni.

Jegyzet: A StringBufferInputStream az Oracle elavult.

A StringBufferInputStream osztály deklarációja

A StringBufferInputStream osztály nyilatkozata az alábbiakban található:

public class StringBufferInputStream kiterjeszti az InputStream-et

Konstruktorok a StringBufferInputStreamben

Ez az osztály egy konstruktorból áll, melynek segítségével létrehozhatunk egy objektumot ebből az osztályból.

1. StringBufferInputStream(String str): T a konstruktora karakterlánc-bemeneti adatfolyam létrehozására szolgál, amely egy megadott karakterláncból kiolvassa az adatokat.

Szintaxis:

StringBufferInputStream(String str)

Példa:

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  ();      }      }   }   

Kimenet
Hello World! 


Java StringBufferStream metódusok

Az alábbi kép a PipedWriter osztály metódusait mutatja be.

io.StringBufferInputStream osztály Java nyelven


Most az egyes módszereket részletesen tárgyaljuk:

1. olvasd (): Ez a módszer egy bájtnyi adat beolvasására szolgál a bemeneti adatfolyamból

Szintaxis:

publikus int read()

  • Paraméter: Ez a módszer nem igényel paramétereket.
  • Visszaküldés típusa: Ez a metódus az olvasott karaktert egész számként adja vissza, egyébként -1-et ad vissza, amikor a folyam végét elérjük.


2. read(byte[] buffer int offset int maxlen): Ezzel a módszerrel meghatározott számú karaktert olvashat ki egy pufferből.

Szintaxis:

public int read(byte[] buffer int offset int maxlen)

  • Paraméter: Ez a módszer három paramétert igényel, amelyeket az alábbiakban felsorolunk:
    • puffer: Ez egy tömb a karakterek tárolására
    • eltolás: Ez a kiindulási pozíció, ahonnan a karaktert tároljuk
    • maxlen: Ez az olvasható karakterek maximális száma.
  • Visszaküldés típusa: Ez a metódus az olvasandó karakterek maximális számát adja vissza, ellenkező esetben -1-et ad vissza, amikor eléri a folyam végét.


3. reset(): Ezzel a módszerrel visszaállítjuk az adatfolyamot, és emiatt az olvasás elölről kezdődik.

Szintaxis:

public void reset()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert.
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit.


4. kihagyás (hosszú n): Ezzel a módszerrel átugorhat és figyelmen kívül hagyhat néhány karaktert a bemeneti adatfolyamban.

Szintaxis:

nyilvános hosszú kihagyás (hosszú n)

  • Paraméter: Ez a módszer egyetlen n paramétert vesz igénybe, amely az átugorandó bájtok száma
  • Visszaküldés típusa: Ez a metódus az átugrott bájtok tényleges számát adja vissza.


5. elérhető(): Ez a módszer megmondja, hogy hány karaktert kell még elolvasni a bemeneti adatfolyamban

Szintaxis:

nyilvános int elérhető()

  • Paraméter: Ez a módszer nem vesz fel semmilyen paramétert
  • Visszatérés típusa: Ez a metódus a bemeneti adatfolyamból kiolvasható karakterek számát adja vissza.


Java program, amely bemutatja a StringBufferInputStream osztálymetódusok működését

Most az alábbi példában látni fogjuk az összes módszer működését.

Példa:

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  );      }      }   }   

Kimenet
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 
Kvíz létrehozása