Blogger templates

Comunidade java aberto - Participe da nossa comunidade no facebook (clique aqui)

Visitas

quarta-feira, 28 de novembro de 2012

Manipulação de Arquivo CSV

,


Pela definição, CSV significa "Comma-separated Value", ou seja, são valores separados por virgula ou por qualquer outro separador. Mas na prática, o formato CSV permite o armazanamento de dados de uma tabela em um arquivo texto, sendo suportado pela maioria das planilhas eletrônicas e SGBD. Em nossa aplicação iremos criar um arquivo CSV com dados de uma tabela e importar dados de um arquivo CSV para a mesma tabela. Em posts posteriores criaremos aplicativos que façam a integração de arquivos CSVs com planilhas excel, xmls e banco de dados.

Sendo a tabela:

NomeTelefoneIdade
Juliana6783-849023
Tatiana6743-748045
Janice6909-938021

Vamos criar um método que gere um arquivo CSV. Segue o código:


//Para a execução das duas classes abaixo é importar algumas classes do
//Java.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public void createCsvFile(){
 
//A estrutura try-catch é usada pois o objeto BufferedWriter exige que as
//excessões sejam tratadas

try{

//Criação de um buffer para a escrita em uma stream
BufferedWriter StrW = new BufferedWriter(new FileWriter("C:\\tabela.csv"));

//Escrita dos dados da tabela
StrW.write("Nome;Telefone;Idade\n"); 

StrW.write("Juliana;6783-8490;23\n");
 
StrW.write("Tatiana;6743-7480;45\n");
 
StrW.write("Janice;6909-9380;21");


//Fechamos o buffer
StrW.close();
 
}catch (FileNotFoundException ex)
{

ex.printStackTrace(); 
}catch (IOException e)
{
e.printStackTrace(); } 
}

Agora vamos criar um método que lê um arquivo CSV e imprima na tela as informações:

public void readCsvFile(){

//A estrutura try-catch é usada pois o objeto BufferedWriter exige que as
//excessões sejam tratadas

try {
//Criação de um buffer para a ler de uma stream
BufferedReader StrR = new BufferedReader(new FileReader("c:\\tabela.csv"));

String Str;

String[] TableLine;

//Essa estrutura do looping while é clássica para ler cada linha
//do arquivo 
while((Str = StrR.readLine())!= null){
//Aqui usamos o método split que divide a linha lida em um array de String//passando como parametro o divisor ";".
TableLine = Str.split(";");

//O foreach é usadao para imprimir cada célula do array de String.
for (String cell : TableLine) {
System.out.print(cell+" "); 

}
System.out.println("\n");
}
//Fechamos o buffer
StrR.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ex){
ex.printStackTrace();
}

}


Como podemos perceber pelos métodos acima, manipular arquivos CSVs consiste apenas em conhecer algumas caracteristicas das classes String e System.IO do Java. Em posts posteriores veremos como integrar arquivos CSV com xml e banco de dados, assim como outros assuntos relacionados ao JAVA. E você, o que achou desse artigo? Deixe seu comentário, dúvida ou sugestão de novos posts. Até a próxima!!!

2 comentários to “Manipulação de Arquivo CSV”

  • 28 de julho de 2016 às 10:43

    Parabéns cara... me ajudou muito.

    delete
  • 29 de junho de 2019 às 12:54
    Raul Amoras says:

    Parabéns Amigão, me ajudou muito

    delete

Postar um comentário

Insira seu comentário

 

Java Aberto Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger