Bom dia!
Estava estudando, e decidi pegar um arquivo no site do governo para "tratar" e a partir dele criar um novo, entretanto o arquivo possui 1501 linhas. Quando eu utilizo um while para todar todas as linhas utilizando o "System.out.println(lista.size())" ele demonstra 1501 linhas, entretanto se eu utilizo printWriter.println(string), ele apenas escreve 1300 linhas no arquivo +/-.
Sabem se o PrintWriter tem algum tipo de limite? Não entendo o porquê de não estar escrevendo todas as linhas.
package br.com.falcaoalado.manipulacaocsv;
import java.io.File;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class TratamentoCsv {
public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(new File("CTB21.csv"));
PrintWriter pw = new PrintWriter(new File("CTB21_teste.csv"));
ArrayList<String> lista = new ArrayList<>();
while(scanner.hasNextLine()) {
lista.add(scanner.nextLine().replace(",\"", ";\""));
}
System.out.println(lista.size());
for (String string : lista) {
pw.println(string.replace("\"", ""));
}
}
Edit1: Acabei de fazer utilizando o método write() do PrintWriter e foi 1501 certinhos, mas não entendo o println não ter feito corretamente ainda