logo

Java StringBufferInputStream クラス

JavaのStringBufferInoutStreamクラス 文字列から入力ストリームを作成し、そこからバイトを読み取ることができます。各文字の下位 8 ビットでのみ機能し、文字値の全範囲を処理することはできません。このクラスを使用する代わりに、最良のアプローチは次のとおりです。 ByteArrayInputStream この制限がなく、文字値の全範囲を読み取ることができます。

注記: StringBufferInputStream は Oracle によって非推奨になりました。

StringBufferInputStream クラスの宣言

StringBufferInputStream クラスの宣言は次のとおりです。



パブリッククラスStringBufferInputStreamはInputStreamを拡張します

str を int に変換する

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 クラスのメソッドを示しています。

' title=


ここでは、各方法について 1 つずつ詳しく説明します。

1.読み取り(): このメソッドは、入力ストリームからデータのバイトを読み取るために使用されます。

構文:

Javaは乱数を生成します

パブリック int read()

  • パラメータ: このメソッドはパラメータを取りません。
  • 戻り値の型: このメソッドは、読み取った文字を整数として返します。それ以外の場合は、ストリームの終わりに達すると -1 を返します。


BFS検索

2. read(byte[]buffer int offset int maxlen): このメソッドは、バッファから特定の数の文字を読み取るために使用されます。

構文:

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

  • パラメータ: このメソッドは、以下に示す 3 つのパラメーターを受け取ります。
    • バッファ: 文字を格納する配列です
    • オフセット: 文字を格納する開始位置です
    • マックスレン: 読み取れる最大文字数です。
  • 戻り値の型: このメソッドは、読み取る文字の最大数を返します。それ以外の場合は、ストリームの終わりに達したときに -1 を返します。


3.リセット(): このメソッドはストリームをリセットするために使用され、このため読み取りは最初から始まります。

構文:

パブリックボイドリセット()

  • パラメータ: このメソッドはパラメータを取りません。
  • 戻り値の型: このメソッドは何も返しません。


4.スキップ(長いn): このメソッドは、入力ストリーム内の一部の文字をスキップして無視するために使用されます。

構文:

パブリックロングスキップ(long n)

  • パラメータ: このメソッドは、スキップするバイト数である単一パラメータ n を受け取ります。
  • 戻り値の型: このメソッドは、スキップされた実際のバイト数を返します。


正規表現Javaとは何ですか

5.利用可能(): このメソッドは、入力ストリームで読み取る文字が何文字残っているかを示します。

構文:

public int available()

  • パラメータ: このメソッドはパラメータを必要としません
  • 戻り値の型: このメソッドは、入力ストリームから読み取ることができる文字数を返します。


StringBufferInputStream クラス メソッドの動作を示す Java プログラム

以下の例では、すべてのメソッドの動作を確認します。

例:

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
クイズの作成