工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java BufferedWriter:効率的な文字I/O解説

Java BufferedWriter

BufferedWriterクラス、その内部バッファリング、主要メソッド、実践コード例を解説します。

java.ioパッケージのBufferedWriterクラスは、別のWriterをラップして効率的な文字出力を提供します。データをメモリにバッファリングすることで、コストの高いディスクI/O操作を削減します。


BufferedWriterの仕組み

クラスは8,192文字の内部バッファ(デフォルトサイズ)を保持します。データを書き込むと、文字はまずこのバッファに格納されます。バッファが満杯になるかライターが閉じられると、内容が基盤ストリームにフラッシュされます。

この戦略によりディスク書き込み回数が最小化され、文字出力が著しく高速化されます。


BufferedWriterの作成

クラスをインポートし、FileWriter(または任意のWriter)をラップしてBufferedWriterを作成:

FileWriter file = new FileWriter("output.txt");
BufferedWriter buffer = new BufferedWriter(file);

バッファはデフォルト8,192文字ですが、カスタムサイズ指定も可能:

BufferedWriter buffer = new BufferedWriter(file, 16384); // 16KBバッファ

BufferedWriterのメソッド

write()

例:ファイルへの書き込み

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 {
            FileWriter file = new FileWriter("output.txt");
            BufferedWriter out = new BufferedWriter(file);
            out.write(data);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

結果のoutput.txtには指定文字列が含まれます。

flush()

バッファされたデータを即座に基盤ストリームに書き出し強制:

out.flush(); // バッファされた文字をファイルに書き出し

close()

ライターを閉じ、システムリソースを解放。close()呼び出し後、ライターは再利用不能になります。


その他の便利なメソッド

メソッド説明
newLine()プラットフォーム固有の行区切り文字を挿入
append(char c)単一文字を追加
append(CharSequence csq)文字シーケンスを追加

完全なAPIは公式Java BufferedWriterドキュメントを参照。

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java継承のマスター:概念、種類、実践例
  4. Java Staticネストクラスの理解:用法、違い、実例
  5. Java無名インナークラス完全ガイド:定義、構文、実践例
  6. Javaシングルトンパターン完全解説:安全な実装と活用法
  7. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  8. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  9. Java BufferedReader完全ガイド:効率的な文字ストリーム処理
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除