Lendo arquivos CSV

1 resposta
S

E ai galera, tudo certo?

Estou tentando manipular um arquivo .csv mas estou com dois problemas. Na primeira linha tenho o cabeçalho e nas demais linhas o conteúdo.

Segue abaixo um amostra do conteúdo do arquivo:

Nome;idade;endereco
joao;45;rua nova
maria;20;rua velha

O código que estou utilizando é o seguinte:

File arquivo = new File("C:\\Pasta\\dados.csv");
		
		FileReader fr = new FileReader(arquivo);
		
		BufferedReader br = new BufferedReader(fr);

		String recebeLinha;
		
		while((recebeLinha = br.readLine()) != null){
			
                       String[] armazenaString = recebeLinha.split(";");
                       System.out.println(armazenaString[0]);
                       System.out.println(armazenaString[1]);
                       System.out.println(armazenaString[2]);
					
				
	        }

O primeiro problema que ocorre é que o formato do conteúdo está sendo modificado na leitura. Quando a String recebeLinha pega o conteúdo através do comando br.readLine() o valor que deveria ser "Nome" está sendo capturado como "N o m e".

Está incluindo um espaço entre cada caractere. Alguém tem ideia do que pode ser isso?

O segundo problema é que eu gostaria de "pular" a primeira linha e não pegar o cabeçalho, alguém sabe uma solução?

1 Resposta

S

Galera,

O primeiro problema eu resolvi. O dados estavam vindo diferentes por erro de encoder. O arquivo CSV estava com um determinada codificação que estava gerando esse problema.

O detalhe é que surgiu um novo problema. Ao capturar as linhas está sendo colocada aspas no inicio e fim de cada linha, e essas aspas não estão no arquivo original.

Alguém saberia dizer por que essas aspas estão sendo incluidas?

Criado 2 de setembro de 2013
Ultima resposta 3 de set. de 2013
Respostas 1
Participantes 1