javaで巨大なテキストファイルを処理する方法

大規模なテキストファイルを処理するには、Java のストリーミングを使用して、ファイルを一度にメモリにすべて読み込むことを回避します。

以下は大容量テキストファイルからBufferedReaderで逐次行を読み取るサンプルコード:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadLargeFile {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
// 处理每一行文本
// 比如可以打印或者写入到其他文件中
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

この例では、try-with-resources ステートメントを使用して BufferedReader を自動的に閉じます。while ループでは、ファイル内容を 1 行ずつ読み取って処理します。必要に応じて、印刷、他のファイルへの書き込みなど、適切な処理を実行できます。

注意、この処理は大容量のテキストファイルに有効です。なぜなら、テキストデータの1行分のみをメモリに保持し、ファイルを丸ごとメモリに読み込む必要がないからです。これにより、メモリ不足によるエラーを回避できます。

bannerAds