Javaでファイルを読み書きする方法【BufferedReader・BufferedWriterの使い方】


はじめに

Javaでは、ファイルの読み書き操作は多くの場面で必要とされます。この記事では、BufferedReaderBufferedWriterを使って、テキストファイルを効率よく読み書きする方法を解説します。初心者から中級者まで役立つ基本と応用を押さえておきましょう。

ファイル読み込みの基本(BufferedReader)

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader(\"sample.txt\"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

解説

  • FileReader:ファイルを読み込むクラス
  • BufferedReader:行単位で高速に読み込むためのクラス
  • try-with-resources:自動的にリソースをクローズ

ファイルへの書き込み(BufferedWriter)

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteFileExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(\"output.txt\"))) {
writer.write(\"こんにちは、Javaファイル出力!\");
writer.newLine();
writer.write(\"2行目のテキストです。");
} catch (IOException e) {
e.printStackTrace();
}
}
}

解説

  • FileWriter:文字ファイルへの書き込み用
  • BufferedWriter:バッファ付きで高速に書き込む
  • newLine():改行を挿入

応用:読み込んだ内容をそのまま別ファイルに書き出す

try (
BufferedReader reader = new BufferedReader(new FileReader(\"input.txt\"));
BufferedWriter writer = new BufferedWriter(new FileWriter(\"copy.txt\"))
) {
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}

よくあるエラーと対処法

  • FileNotFoundException:ファイルパスを見直す
  • IOException:書き込み権限やディスク容量に注意

まとめ

JavaのBufferedReaderBufferedWriterは、テキストファイルを効率よく読み書きするための基本クラスです。大規模なデータを扱う場合でも、高速かつ安定して動作します。ファイル操作は業務アプリやツール開発でも頻出なので、しっかり習得しておきましょう。

タイトルとURLをコピーしました