Java StringBufferInputStream Class

Java StringBufferInputStream Class

De StringBufferInoutStream-klass i Java tillåter oss att skapa en indataström från en sträng så att vi kan läsa bytes från den. Det fungerar bara med de nedre 8 bitarna av varje tecken. Det kan inte hantera hela skalan av teckenvärden. Istället för att använda denna klass är det bästa sättet att använda ByteArrayInputStream som inte har denna begränsning kan den läsa hela skalan av teckenvärden.

Notera: StringBufferInputStream har fasats ut av Oracle.

Deklaration av StringBufferInputStream Class

Deklarationen för StringBufferInputStream-klassen är nedan:

public class StringBufferInputStream utökar InputStream

Konstruktörer i StringBufferInputStream

Denna klass består av en konstruktor med hjälp av vilken vi kan skapa ett objekt av denna klass.

1. StringBufferInputStream(String str): T hans konstruktor används för att skapa en stränginmatningsström för att läsa data från en specificerad sträng.

Syntax:

StringBufferInputStream(String str)

Exempel:

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

Bilden nedan visar metoderna i klassen PipedWriter.

io.StringBufferInputStream-klass i Java


Nu ska vi diskutera varje metod en efter en i detalj:

1. läs(): Denna metod används för att läsa en byte med data från inmatningsströmmen

Syntax:

public int read()

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar det lästa tecknet som ett heltal annars returnerar -1 när slutet av strömmen nås.


2. read(byte[] buffert int offset int maxlen): Denna metod används för att läsa ett visst antal tecken från en buffert.

Syntax:

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

  • Parameter: Denna metod tar tre parametrar som listas nedan:
    • buffert: Det är en array för att lagra tecken
    • offset: Det är utgångsläget varifrån man ska lagra karaktär
    • maxlen: Det är det maximala antalet tecken att läsa.
  • Returtyp: Denna metod returnerar det maximala antalet tecken att läsa annars returnerar -1 när slutet av strömmen nås.


3. återställ(): Denna metod används för att återställa strömmen och på grund av detta börjar läsningen från början.

Syntax:

public void reset()

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar ingenting.


4. hoppa över (långt n): Denna metod används för att hoppa över och ignorera vissa tecken i inmatningsströmmen.

Syntax:

offentligt långt hoppa (långt n)

  • Parameter: Denna metod tar en enda parameter n som är antalet byte att hoppa över
  • Returtyp: Denna metod returnerar det faktiska antalet byte som hoppats över.


5. tillgänglig(): Denna metod talar om hur många tecken som finns kvar att läsa i inmatningsströmmen

Syntax:

public int tillgänglig()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar antalet tecken som kan läsas från inmatningsströmmen.


Java-program som illustrerar hur StringBufferInputStream-klassmetoder fungerar

Nu i exemplet nedan kommer vi att se hur alla metoder fungerar.

Exempel:

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 Geeks 
Skapa frågesport