Klasa Java StringBufferInputStream

Klasa Java StringBufferInputStream

The Klasa StringBufferInoutStream w Javie pozwala nam utworzyć strumień wejściowy z ciągu znaków, abyśmy mogli odczytać z niego bajty. Działa tylko z 8 dolnymi bitami każdego znaku. Nie obsługuje pełnego zakresu wartości znaków. Zamiast używać tej klasy, najlepszym podejściem jest użycie Strumień wejściowy ByteArray który nie ma tego ograniczenia, może odczytać pełny zakres wartości znaków.

Notatka: StringBufferInputStream został wycofany przez firmę Oracle.

Deklaracja klasy StringBufferInputStream

Deklaracja klasy StringBufferInputStream znajduje się poniżej:

klasa publiczna StringBufferInputStream rozszerza strumień wejściowy

Konstruktory w StringBufferInputStream

Klasa ta składa się z jednego konstruktora za pomocą którego możemy stworzyć obiekt tej klasy.

1. StringBufferInputStream(String str): T jego konstruktor służy do tworzenia strumienia wejściowego ciągu znaków w celu odczytania danych z określonego ciągu.

Składnia:

StringBufferInputStream(str)

Przykład:

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

Wyjście
Hello World! 


Metody Java StringBufferStream

Poniższy obrazek ilustruje metody klasy PipedWriter.

Klasa io.StringBufferInputStream w Javie


Teraz omówimy szczegółowo każdą metodę:

1. przeczytaj(): Metoda ta służy do odczytu bajtu danych ze strumienia wejściowego

Składnia:

publiczny odczyt()

  • Parametr: Ta metoda nie przyjmuje żadnego parametru.
  • Typ zwrotu: Ta metoda zwraca przeczytany znak jako liczbę całkowitą, w przeciwnym razie zwraca -1 po osiągnięciu końca strumienia.


2. read(bajt[] bufor int offset int maxlen): Metoda ta służy do odczytania określonej liczby znaków z bufora.

Składnia:

public int read(bajt[] bufor int przesunięcie int maxlen)

  • Parametr: Ta metoda przyjmuje trzy parametry wymienione poniżej:
    • bufor: Jest to tablica do przechowywania znaków
    • zrównoważyć: Jest to pozycja wyjściowa, z której należy przechowywać znak
    • Maxlen: Jest to maksymalna liczba znaków do odczytania.
  • Typ zwrotu: Ta metoda zwraca maksymalną liczbę znaków do odczytania, w przeciwnym razie zwraca -1 po osiągnięciu końca strumienia.


3. reset(): Metoda ta służy do resetowania strumienia i dlatego odczyt rozpoczyna się od początku.

Składnia:

publiczny reset pustego()

  • Parametr: Ta metoda nie przyjmuje żadnego parametru.
  • Typ zwrotu: Ta metoda nic nie zwraca.


4. pomiń(długie n): Ta metoda służy do pomijania i ignorowania niektórych znaków w strumieniu wejściowym.

Składnia:

publiczny długi skok (long n)

  • Parametr: Ta metoda przyjmuje pojedynczy parametr n, który jest liczbą bajtów do pominięcia
  • Typ zwrotu: Ta metoda zwraca faktyczną liczbę pominiętych bajtów.


5. dostępny(): Ta metoda informuje, ile znaków pozostało do odczytania w strumieniu wejściowym

Składnia:

publiczny dostępny()

  • Parametr: Ta metoda nie przyjmuje żadnego parametru
  • Typ zwrotu: Ta metoda zwraca liczbę znaków, które można odczytać ze strumienia wejściowego.


Program Java ilustrujący działanie metod klasy StringBufferInputStream

W poniższym przykładzie zobaczymy działanie wszystkich metod.

Przykład:

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

Wyjście
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 
Utwórz quiz