Java StringBufferInputStream クラス

Java StringBufferInputStream クラス

JavaのStringBufferInoutStreamクラス 文字列から入力ストリームを作成し、そこからバイトを読み取ることができます。各文字の下位 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 つずつ詳しく説明します。

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

構文:

パブリック int read()

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


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 を受け取ります。
  • 戻り値の型: このメソッドは、スキップされた実際のバイト数を返します。


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