Czytaj duży CSV w java
Chcę odczytać ogromne dane z CSV, zawierające około 500 000 wierszy. Używam do tego biblioteki OpenCSV. Mój kod jest taki
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();
}
Do 200 000 rekordów dane są odczytywane na listę obiektów bean użytkownika. Ale w przypadku danych więcej niż otrzymuję
java.lang.OutOfMemoryError: Java heap space
Mam to ustawienie pamięci w pliku „eclipse.ini”
-Xms256m
-Xmx1024m
Mam na myśli rozwiązanie polegające na podziale ogromnego pliku w osobnych plikach i ponownym odczytaniu tych plików, co moim zdaniem jest długotrwałym rozwiązaniem.
Czy jest jakiś inny sposób, dzięki któremu mogę uniknąć wyjątku OutOfMemoryError.