のような大きなファイルを解析する方法は、ファイル内の総行数が36259190
の場合です。各行をオブジェクトに構文解析してリストに保存する方法。Javaで大きなファイルを処理する
私は毎回OutOfMemmoryError
を取得します。
List<Point> points = new ArrayList<>();
public void m2() throws IOException {
try (BufferedReader reader = Files.newBufferedReader(Paths.get(DATAFILE))) {
reader.lines().map(s -> s.split(","))
.skip(0)
.forEach(p -> points.add(newPoint(p[0], p[1], p[2])));
}
}
class Point {
String X;
String Y;
String Z;
}
Javaにはより大きなヒープがあります。 –
'skip(0)'のポイントは何ですか? – Andreas
私はそれを試みたが、同じ誤りをまだ得ている。コントロールパネルの-Xmx2048mにランタイムパラメータを編集する - java- – Jaray