Lesen Sie große CSV in Java
Ich möchte riesige Daten aus CSV lesen, die ungefähr 500.000 Zeilen enthalten. Ich benutze OpenCSV-Bibliothek dafür. Mein Code dafür ist so
CsvToBean<User> csvConvertor = new CsvToBean<User>();
List<User> list = null;
try {
list =csvConvertor.parse(strategy, new BufferedReader(new FileReader(filepath)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bis zu 200.000 Datensätze werden Daten in die Liste der User Bean-Objekte eingelesen. Aber für Daten bekomme ich mehr
java.lang.OutOfMemoryError: Java heap space
Ich habe diese Speichereinstellung in der Datei "eclipse.ini"
-Xms256m
-Xmx1024m
Ich denke über eine Lösung nach, die riesige Datei in separate Dateien aufzuteilen und diese Dateien erneut zu lesen, was ich für eine langwierige Lösung halte.
Gibt es eine andere Möglichkeit, mit der ich OutOfMemoryError-Ausnahme vermeiden kann.