Клас Java StringBufferInputStream
The Клас StringBufferInoutStream у Java allows us to create an input stream from a string so that we can read bytes from it. Він працює лише з молодшими 8 бітами кожного символу. Він не може обробляти повний діапазон значень символів. Замість використання цього класу найкращим підходом є використання ByteArrayInputStream який не має цього обмеження, він може читати повний діапазон значень символів.
Примітка: StringBufferInputStream визнано застарілим Oracle.
Оголошення класу StringBufferInputStream
Оголошення класу StringBufferInputStream наведено нижче:
публічний клас StringBufferInputStream розширює InputStream
Конструктори в StringBufferInputStream
Цей клас складається з одного конструктора, за допомогою якого ми можемо створити об'єкт цього класу.
1. StringBufferInputStream(String str): T його конструктор використовується для створення вхідного потоку рядка для читання даних із зазначеного рядка.
Синтаксис:
StringBufferInputStream(String str)
приклад:
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 (); } } }
Вихід
Hello World!
Методи Java StringBufferStream
На зображенні нижче показано методи класу PipedWriter.
Тепер ми докладніше обговоримо кожен метод окремо:
1. читати(): Цей метод використовується для читання байта даних із вхідного потоку
Синтаксис:
public int read()
- Параметр: Цей метод не приймає жодних параметрів.
- Тип повернення: Цей метод повертає прочитаний символ як ціле число, інакше повертає -1, коли досягнуто кінця потоку.
2. read(byte[] buffer int offset int maxlen): Цей метод використовується для читання певної кількості символів із буфера.
Синтаксис:
public int read(byte[] buffer int offset int maxlen)
- Параметр: Цей метод приймає три параметри, які перераховані нижче:
- буфер: Це масив для зберігання символів
- зсув:
- Макслен: Це максимальна кількість символів для читання.
- Тип повернення: Цей метод повертає максимальну кількість символів для читання, інакше повертає -1, коли досягнуто кінця потоку.
3. reset(): Цей метод використовується для скидання потоку, і тому читання починається з початку.
Синтаксис:
public void reset()
- Параметр: Цей метод не приймає жодних параметрів.
- Тип повернення: Цей метод нічого не повертає.
4. пропуск (довгий n): Цей метод використовується для пропуску та ігнорування деяких символів у вхідному потоці.
Синтаксис:
публічний довгий пропуск (довгий n)
- Параметр: Цей метод приймає один параметр n, який є кількістю байтів, які потрібно пропустити
- Тип повернення: Цей метод повертає фактичну кількість пропущених байтів.
5. доступний(): Цей метод повідомляє, скільки символів залишилося для читання у вхідному потоці
Синтаксис:
public int available()
- Параметр: цей метод не приймає жодних параметрів
- Тип повернення: цей метод повертає кількість символів, які можна прочитати з вхідного потоку.
Програма Java, що ілюструє роботу методів класу StringBufferInputStream
Тепер у прикладі нижче ми побачимо роботу всіх методів.
приклад:
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 ); } } }
Вихід
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Створіть вікторину