Java BufferedReader クラス
Java BufferedReader クラス
このチュートリアルでは、例を使って Java BufferedReader とそのメソッドについて学びます。
BufferedReader
java.io
のクラス パッケージを他のリーダーと一緒に使用して、データ (文字単位) をより効率的に読み取ることができます。
抽象クラス Reader
を拡張します .
" "
BufferedReader の働き
BufferedReader
8192 文字の内部バッファを維持します .
BufferedReader
の読み取り操作中 、文字のチャンクがディスクから読み取られ、内部バッファーに格納されます。内部バッファから文字が個別に読み取られます。
したがって、ディスクへの通信回数が減少します。これが、BufferedReader
を使用すると文字の読み取りが速くなる理由です。 .
BufferedReader を作成する
BufferedReader
を作成するには 、 java.io.BuferedReader
をインポートする必要があります 最初にパッケージ。パッケージをインポートしたら、リーダーを作成する方法を次に示します。
// Creates a FileReader
FileReader file = new FileReader(String file);
// Creates a BufferedReader
BufferedReader buffer = new BufferedReader(file);
上記の例では、BufferedReader
を作成しました。 名前付き バッファ FileReader
で 名前付き ファイル .
ここで、BufferedReader
の内部バッファ デフォルトのサイズは 8192 文字です。ただし、内部バッファーのサイズも指定できます。
// Creates a BufferdReader with specified size internal buffer
BufferedReader buffer = new BufferedReader(file, int size);
バッファーは、ファイルから文字をより迅速に読み取るのに役立ちます。
BufferedReader のメソッド
BufferedReader
クラスは、Reader
に存在するさまざまなメソッドの実装を提供します .
read() メソッド
read()
- リーダーの内部バッファから 1 文字を読み取りますread(char[] array)
- リーダーから文字を読み取り、指定された配列に格納しますread(char[] array, int start, int length)
- length に等しい文字数を読み取ります リーダーから取得し、位置 start から始まる指定された配列に格納します
たとえば、input.txt という名前のファイルがあるとします。
This is a line of text inside the file.
BufferedReader
を使用してファイルを読み取ってみましょう .
import java.io.FileReader;
import java.io.BufferedReader;
class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a FileReader
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
出力
Data in the file: This is a line of text inside the file.
上記の例では、input という名前のバッファ付きリーダーを作成しました。 .バッファリングされたリーダーは input.txt とリンクされています ファイル。
FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);
ここでは、read()
を使用しました。 バッファリングされたリーダーの内部バッファから文字の配列を読み取るメソッド。
skip() メソッド
指定された文字数を破棄してスキップするには、 skip()
を使用できます 方法。たとえば、
import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
public static void main(String args[]) {
// Creates an array of characters
char[] array = new char[100];
try {
// Suppose, the input.txt file contains the following text
// This is a line of text inside the file.
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Skips the 5 characters
input.skip(5);
// Reads the characters
input.read(array);
System.out.println("Data after skipping 5 characters:");
System.out.println(array);
// closes the reader
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
出力
Data after skipping 5 characters: is a line of text inside the file.
上記の例では、skip()
を使用しています。 ファイルリーダーから 5 文字をスキップするメソッド。したがって、文字 'T'
、 'h'
、 'i'
、 's'
と ' '
元のファイルからスキップされます。
close() メソッド
バッファリングされたリーダーを閉じるには、 close()
を使用できます 方法。一度 close()
メソッドが呼び出されると、リーダーを使用してデータを読み取ることはできません。
BufferedReader のその他のメソッド
メソッド | 説明 |
---|---|
ready() | ファイル リーダーが読み取り可能かどうかを確認します |
mark() | データが読み取られたリーダーの位置をマークします |
reset() | マークが設定されたリーダー内のポイントにコントロールを返します |
詳細については、Java BufferedReader (公式の Java ドキュメント) にアクセスしてください。
Java