Manejando archivos CSV con java

Un archivo CSV (comma-separated values) es un archivo de texto que por lo general es exportado con un procesador de hojas de cálculo donde sus valores están separados por una coma.
El formato CSV es muy sencillo, ejemplo:
"juan",12,10,1989 "pedro",01,03,2000 "jose",24,06,1990
Existe una librería en java para el manejo de CSV, pueden descargarla de AQUI. Busquen el archivo javacsv.jar y agreguenlo a su proyecto, ya sea que usen netbeans o eclipse o cualquier otro editor.
Importamos la libreria:
import com.csvreader.*;
Creamos el objeto CsvReader pasandole la ruta del archivo en el constructor:
CsvReader csv = new CsvReader("archivo.csv");
Y hacemos un while csv.readRecord() para recolectar todos las posiciones linea por linea:
while(csv.readRecord()){ String nombre=csv.get(0); int dia = Integer.parseInt(csv.get(1)); String mes = csv.get(2); int annio = Integer.parseInt(csv.get(3)); //aqui el codigo tuyo... } Ahora sabemos como leer un archivo CSV, para crear un archivo es muy sencillo: Creamos un objeto de la clase CsvWriter pasandole como parámetro el archivo a crear(la ruta completa si estas en windows):
CsvWriter csvW = new CsvWriter("csvarchivo.csv");
Ahora escribimos cada uno de los campos delimitando la linea con la aplicación del método endRecord() a nuestro objeto:
csvW.write("Fernando"); csvW.write("1"); csvW.write("Febrero"); csvW.write("1989"); csvW.endRecord(); csvW.write("Jorge"); csvW.write("10"); csvW.write("Enero"); csvW.write("1999"); csvW.endRecord();
finalizamos con el cierre del flujo:
csvW.close();
El código completo aqui:
package csv; //se importa la libreria para el manejo de csv: javacsv.jav este en el folder "Lib" import com.csvreader.*; //se importan liberias java estandard import java.io.*; import javax.swing.*; public class main { /** * autor: pahko pahko@nullpointerexception.tk * Descripción: muestra como se usa la libreria CSVReader * Página de la libreria: http://www.csvreader.com/java_csv.php * @throws IOException */ public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub JTextArea area = new JTextArea(); CsvReader csv = new CsvReader("archivo.csv"); area.append("Nombre\tDia\tMes\tAño\n"); while(csv.readRecord()){ String nombre=csv.get(0); int dia = Integer.parseInt(csv.get(1)); String mes = csv.get(2); int annio = Integer.parseInt(csv.get(3)); area.append(nombre+"\t"+dia+"\t"+mes+"\t"+annio+"\n"); } JOptionPane.showMessageDialog(null, area); JOptionPane.showMessageDialog(null, "Ahora vamos a escribir un csv"); CsvWriter csvW = new CsvWriter("csvarchivo.csv"); csvW.write("Fernando"); csvW.write("1"); csvW.write("Febrero"); csvW.write("1989"); csvW.endRecord(); csvW.write("Jorge"); csvW.write("10"); csvW.write("Enero"); csvW.write("1999"); csvW.endRecord(); csvW.close(); } }
Y aqui les dejo el proyecto de eclipse:
|
|
Descarga: Manejo de CSV con Java Fecha: 05/12/2009 Número de Descargas: 338 Descripción: Proyecto de Eclipse que muestra el uso de la libreria CSVReader en java. |
Popularity: 33%










Deja Tu Comentario!