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.
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 GeeksUtwórz quiz