Java StringBufferInputStream klasė

Java StringBufferInputStream klasė

The StringBufferInoutStream klasė Java leidžia iš eilutės sukurti įvesties srautą, kad galėtume iš jos nuskaityti baitus. Jis veikia tik su 8 mažesniais kiekvieno simbolio bitais. Jis negali apdoroti viso simbolių reikšmių diapazono. Užuot naudoję šią klasę, geriausias būdas yra naudoti ByteArrayInputStream kuri neturi šio apribojimo, gali nuskaityti visą simbolių reikšmių diapazoną.

Pastaba: „Oracle“ nebenaudoja „StringBufferInputStream“.

„StringBufferInputStream“ klasės deklaracija

Toliau pateikiama „StringBufferInputStream“ klasės deklaracija:

viešoji klasė StringBufferInputStream išplečia InputStream

Konstruktoriai StringBufferInputStream

Ši klasė susideda iš vieno konstruktoriaus, kurio pagalba galime sukurti šios klasės objektą.

1. StringBufferInputStream(String str): T jo konstruktorius naudojamas eilutės įvesties srautui sukurti, kad būtų galima nuskaityti duomenis iš nurodytos eilutės.

Sintaksė:

Pavyzdys:

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

Išvestis
Hello World! 


Java StringBufferStream metodai

Žemiau esančiame paveikslėlyje pavaizduoti PipedWriter klasės metodai.

io.StringBufferInputStream klasė Java


Dabar mes išsamiai aptarsime kiekvieną metodą po vieną:

1. skaityti (): Šis metodas naudojamas duomenų baitui nuskaityti iš įvesties srauto

Sintaksė:

viešai skaityti ()

  • Parametras: Šis metodas nereikalauja jokių parametrų.
  • Grąžinimo tipas: Šis metodas grąžina skaitytą simbolį kaip sveikąjį skaičių, kitu atveju grąžina -1, kai pasiekiama srauto pabaiga.


2. read(byte[] buffer int offset int maxlen): Šis metodas naudojamas nuskaityti tam tikrą skaičių simbolių iš buferio.

Sintaksė:

viešasis int skaitymas(baitas[] buferis int offset int maxlen)

  • Parametras: Šis metodas apima tris toliau nurodytus parametrus:
    • buferis: Tai masyvas simboliams saugoti
    • kompensuoti: Tai pradinė padėtis, nuo kurios reikia saugoti charakterį
    • Maxlen: Tai didžiausias skaitomų simbolių skaičius.
  • Grąžinimo tipas: Šis metodas grąžina didžiausią skaitomų simbolių skaičių, kitu atveju, kai pasiekiama srauto pabaiga, gaunama -1.


3. atstatyti (): Šis metodas naudojamas srautui iš naujo nustatyti, todėl skaitymas pradedamas nuo pradžių.

Sintaksė:

public void reset ()

  • Parametras: Šis metodas nereikalauja jokių parametrų.
  • Grąžinimo tipas: Šis metodas nieko negrąžina.


4. praleisti (ilgas n): Šis metodas naudojamas kai kuriems įvesties srauto simboliams praleisti ir nepaisyti.

Sintaksė:

viešas ilgas praleidimas (ilgas n)

  • Parametras: Šis metodas naudoja vieną parametrą n, kuris yra baitų, kuriuos reikia praleisti, skaičius
  • Grąžinimo tipas: Šis metodas grąžina tikrąjį praleistų baitų skaičių.


5. prieinama(): Šis metodas nurodo, kiek simbolių liko perskaityti įvesties sraute

Sintaksė:

prieinama viešai ()

  • Parametras: šis metodas nenaudoja jokių parametrų
  • Grąžinimo tipas: šis metodas grąžina simbolių, kuriuos galima nuskaityti iš įvesties srauto, skaičių.


Java programa, iliustruojanti StringBufferInputStream klasės metodų veikimą

Toliau pateiktame pavyzdyje pamatysime visų metodų veikimą.

Pavyzdys:

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

Išvestis
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 
Sukurti viktoriną