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**************