Bom dia galera !
Tenho um arquivo csv de mais de 20 mil linhas e mais de 25 atributos. Quero poder ler os dados do arquivo e guarda-los em uma lista. O melhor seria numa lista de objetos.
Até agora fiz isso
public static void main(String[] args) throws IOException {
String archCSV = "C:\\Users\\c\\OneDrive\\Desktop\\Dados/Products.csv";
CSVReader csvReader = new CSVReader(new FileReader(archCSV));
String[] fila = null;
int i = 0;
List<Produtos> prods = new ArrayList<>();
Produtos p[] = new Produtos [20000];
while((fila = csvReader.readNext()) != null) {
p[i] = new Produtos();
p[i].setId(i, fila[0]); //Exemplo de como pretendo guardar todos os dados do arquivo em cada atributo da classe Produtos
prods.add(p[i]);
i++;
}
csvReader.close();
Estou usando o open csv pra ler o arquivo. Quando executo esse código ele da erro java.lang.OutOfMemoryError: Java heap space. Como seria a melhor forma de fazer esse trabalho de guardar o arquivo em um ArrayList de objetos?