Java BufferedWriter クラス
Java BufferedWriter クラス
このチュートリアルでは、例を使って Java BufferedWriter とそのメソッドについて学びます。
BufferedWriter
java.io
のクラス パッケージを他のライターと一緒に使用して、データ (文字単位) をより効率的に書き込むことができます。
抽象クラス Writer
を拡張します .
BufferedWriter の働き
BufferedWriter
8192 文字の内部バッファを維持します .
書き込み操作中、文字はディスクではなく内部バッファに書き込まれます。バッファーがいっぱいになるか、ライターが閉じられると、バッファー内の文字全体がディスクに書き込まれます。
したがって、ディスクへの通信回数が減少します。これが、BufferedWriter
を使用して文字を書く方が速い理由です。 .
BufferedWriter を作成する
BufferedWriter
を作成するには 、 java.io.BufferedWriter
をインポートする必要があります 最初にパッケージ。ここでパッケージをインポートしたら、バッファ付きライターを作成する方法です。
// Creates a FileWriter
FileWriter file = new FileWriter(String name);
// Creates a BufferedWriter
BufferedWriter buffer = new BufferedWriter(file);
上記の例では、BufferedWriter
を作成しました。 名前付き バッファ FileWriter
で 名前付き ファイル .
ここで、BufferedWriter
の内部バッファ デフォルトのサイズは 8192 文字です。ただし、内部バッファーのサイズも指定できます。
// Creates a BufferedWriter with specified size internal buffer
BufferedWriter buffer = new BufferedWriter(file, int size);
バッファーは、より効率的に文字をファイルに書き込むのに役立ちます。
BufferedWriter のメソッド
BufferedWriter
クラスは、Writer
に存在するさまざまなメソッドの実装を提供します .
write() メソッド
write()
- ライターの内部バッファーに 1 文字を書き込みますwrite(char[] array)
- 指定された配列の文字をライターに書き込みますwrite(String data)
- 指定された文字列をライターに書き込みます
例:ファイルにデータを書き込む BufferedWriter
import java.io.FileWriter;
import java.io.BufferedWriter;
public class Main {
public static void main(String args[]) {
String data = "This is the data in the output file";
try {
// Creates a FileWriter
FileWriter file = new FileWriter("output.txt");
// Creates a BufferedWriter
BufferedWriter output = new BufferedWriter(file);
// Writes the string to the file
output.write(data);
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
上記の例では、output という名前のバッファ付きライターを作成しました。 FileWriter
とともに .バッファされたライターは output.txt にリンクされています ファイル。
FileWriter file = new FileWriter("output.txt");
BufferedWriter output = new BufferedWriter(file);
ファイルにデータを書き込むために、 write()
を使用しました メソッド。
ここでプログラムを実行すると、output.txt ファイルには次の内容が含まれています。
This is a line of text inside the file.
flush() メソッド
内部バッファをクリアするには、 flush()
を使用できます 方法。このメソッドは、ライターがバッファ内に存在するすべてのデータを宛先ファイルに書き込むことを強制します。
たとえば、output.txt という名前の空のファイルがあるとします。 .
import java.io.FileWriter;
import java.io.BufferedWriter;
public class Main {
public static void main(String[] args) {
String data = "This is a demo of the flush method";
try {
// Creates a FileWriter
FileWriter file = new FileWriter(" flush.txt");
// Creates a BufferedWriter
BufferedWriter output = new BufferedWriter(file);
// Writes data to the file
output.write(data);
// Flushes data to the destination
output.flush();
System.out.println("Data is flushed to the file.");
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
出力
Data is flushed to the file.
プログラムを実行すると、ファイル output.txt 文字列 data で表されるテキストで埋められます .
close() メソッド
バッファされたライターを閉じるには、 close()
を使用できます 方法。一度 close()
メソッドが呼び出されると、ライターを使用してデータを書き込むことはできません。
BufferedWriter のその他のメソッド
メソッド | 説明 |
---|---|
newLine() | ライターに新しい行を挿入します |
append() | 指定された文字を現在のライターに挿入します |
詳細については、Java BufferedWriter (公式の Java ドキュメント) を参照してください。
Java