Clasa Java StringBufferInputStream

Clasa Java StringBufferInputStream

The Clasa StringBufferInoutStream în Java ne permite să creăm un flux de intrare dintr-un șir, astfel încât să putem citi octeți din acesta. Funcționează numai cu cei 8 biți inferiori ai fiecărui caracter. Nu poate gestiona întreaga gamă de valori ale caracterelor. În loc să folosiți această clasă, cea mai bună abordare este să utilizați ByteArrayInputStream care nu are această limitare poate citi întreaga gamă de valori ale caracterelor.

Nota: StringBufferInputStream a fost depreciat de Oracle.

Declarația clasei StringBufferInputStream

Declarația clasei StringBufferInputStream este mai jos:

clasa publică StringBufferInputStream extinde InputStream

Constructori în StringBufferInputStream

Această clasă constă dintr-un constructor cu ajutorul căruia putem crea un obiect al acestei clase.

1. StringBufferInputStream(String str): T constructorul său este folosit pentru a crea un flux de intrare șir pentru a citi datele dintr-un șir specificat.

Sintaxă:

StringBufferInputStream(String str)

Exemplu:

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

Ieșire
Hello World! 


Metode Java StringBufferStream

Imaginea de mai jos demonstrează metodele clasei PipedWriter.

Clasa io.StringBufferInputStream în Java


Acum vom discuta despre fiecare metodă una câte una în detaliu:

1. citeste(): Această metodă este folosită pentru a citi un octet de date din fluxul de intrare

Sintaxă:

public int read()

  • Parametru: Această metodă nu ia niciun parametru.
  • Tip returnare: Această metodă returnează caracterul citit ca un întreg, altfel returnează -1 când se ajunge la sfârșitul fluxului.


2. read(byte[] buffer int offset int maxlen): Această metodă este folosită pentru a citi un anumit număr de caractere dintr-un buffer.

Sintaxă:

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

  • Parametru: Această metodă ia trei parametri care sunt enumerați mai jos:
    • tampon: Este o matrice pentru a stoca caractere
    • compensare: Este poziția de pornire de unde să stocați caracterul
    • maxlen: Este numărul maxim de caractere de citit.
  • Tip returnare: Această metodă returnează numărul maxim de caractere de citit, altfel returnează -1 când se ajunge la sfârșitul fluxului.


3. resetare(): Această metodă este folosită pentru a reseta fluxul și din această cauză citirea începe de la început.

Sintaxă:

resetare public void()

  • Parametru: Această metodă nu ia niciun parametru.
  • Tip returnare: Această metodă nu returnează nimic.


4. săriți (n lung): Această metodă este folosită pentru a ignora și a ignora unele caractere din fluxul de intrare.

Sintaxă:

public long skip (n lung)

  • Parametru: Această metodă ia un singur parametru n care este numărul de octeți de ignorat
  • Tip returnare: Această metodă returnează numărul real de octeți săriți.


5. disponibil(): Această metodă spune câte caractere mai sunt de citit în fluxul de intrare

Sintaxă:

public int disponibil()

  • Parametru: Această metodă nu ia niciun parametru
  • Tip returnare: Această metodă returnează numărul de caractere care pot fi citite din fluxul de intrare.


Program Java care ilustrează funcționarea metodelor de clasă StringBufferInputStream

Acum, în exemplul de mai jos, vom vedea funcționarea tuturor metodelor.

Exemplu:

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

Ieșire
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 
Creați un test