Java-io-bufferedreader-read-char-len

提供:Dev Guides
移動先:案内検索

Java.io.BufferedReader.read()メソッド

説明

  • java.io.BufferedReader.read(char [] cbuf、int off、int len)メソッドは、オフセット *off から始まる指定された配列に len 文字を読み込みます。 このメソッドは、基になるストリームのreadメソッドを繰り返し呼び出して文字を読み取ります。

次のいずれかに該当する場合、メソッドは読み取りを停止します。

  • ストリームの指定された文字数が読み取られました。
  • ファイルの終わりに達した場合。
  • readyメソッドによってfalseが返されました。

宣言

以下は* java.io.BufferedReader.read(char [] cbuf、int off、int len)*メソッドの宣言です。

public int read(char[] cbuf, int off, int len)

パラメーター

  • cbuf -宛先バッファ。
  • off -特性の保存を開始するオフセット。
  • len -読み取る文字数。

戻り値

このメソッドは、文字を整数として返します。 ストリームの終わりに達した場合、メソッドは-1を返します。

例外

*IOException* -I/Oエラーが発生した場合

次の例は、java.io.BufferedReader.read(char [] cbuf、int off、int len)メソッドの使用方法を示しています。

package com.finddevguides;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

public class BufferedReaderDemo {
   public static void main(String[] args) throws Exception {
      InputStream is = null;
      InputStreamReader isr = null;
      BufferedReader br = null;

      try {
        //open input stream test.txt for reading purpose.
         is = new FileInputStream("c:/test.txt");

        //create new input stream reader
         isr = new InputStreamReader(is);

        //create new buffered reader
         br = new BufferedReader(isr);

        //creates buffer
         char[] cbuf = new char[is.available()];

        //reads characters to buffer, offset 2, len 10
         br.read(cbuf, 2, 10);

        //for each character in the buffer
         for (char c:cbuf) {

           //if char is empty
            if(c == (char)0) {
               c = '*';
            }

           //prints characters
            System.out.print(c);
         }

      } catch(Exception e) {
         e.printStackTrace();
      } finally {
        //releases resources associated with the streams
         if(is!=null)
            is.close();
         if(isr!=null)
            isr.close();
         if(br!=null)
            br.close();
      }
   }
}

テキストファイル* c:/test.txt*があり、次の内容があるとします。 このファイルは、サンプルプログラムの入力として使用されます-

ABCDEFGHIJKLMNOPQRSTUVWXYZ

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

**ABCDEFGHIJ**************