Javaで大きいファイルをメモリリークを防ぎながら読み込む方法

java.ioパッケージに含まれるBufferedReaderとFileReaderクラスを使用することで、Javaでメモリリークの問題を回避しながら大きなファイルを読み込むことができます。サンプルコードを以下に示します。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("path/to/file.txt"));
String line;
while ((line = reader.readLine()) != null) {
// 处理每一行数据
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

この例では、FileReaderと比較してバッファリングされたReaderであるBufferedReaderを使用してファイルを 読み込みます。 これにより、ディスクアクセス回数が削減され、読み取り効率が向上します。

リソースを正しく閉じるために、try-catch-finallyブロックを使用しました。 finallyブロック内では、BufferedReaderを閉じてファイルとの接続を解放しました。

さらに、非常に大きなファイルを処理する必要がある場合は、読み込む内容をチャンク処理して、一度にファイル全体を読み込むのを避け、メモリの消費を抑えることを検討できます。

bannerAds