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:
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.
Sendo a tabela:
Nome | Telefone | Idade |
Juliana | 6783-8490 | 23 |
Tatiana | 6743-7480 | 45 |
Janice | 6909-9380 | 21 |
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 streamBufferedWriter 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(); }
}
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 streamBufferedWriter 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(); }
}
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 bufferStrR.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!!!
Parabéns cara... me ajudou muito.
Parabéns Amigão, me ajudou muito