Java - Problema al llenar el csv

 
Vista:
Imágen de perfil de Jemel

Problema al llenar el csv

Publicado por Jemel (15 intervenciones) el 29/04/2014 21:00:44
Saludos amigos. Mi problema es el siguiente.
Estoy tratando de exportar desde mi aplicación en java los datos de una tabla a un archivo de extensión csv.
El problema está en que el archivo se crea vacío. El código que estoy usando es este:

private void exportarCSV(){
String campo1 = lblcampo1.getText();
String campo2 = lblcampo2.getText();
String campo3 = lblcampo3.getText();
try {
String query = "select * from tabla where campo1 = '" + campo1 + "' and campo2 = '" + campo2 + "' and campo3 = '" + campo3 + "'";
ResultSet rs = cc.getSt().executeQuery(query);
int numFilas = cc.getSt().executeQuery(query).getRow();

while(rs.next()){
File fichero = new File("C:\\test.csv");
FileWriter fwriter = new FileWriter(fichero);

for(int i=0; i<numFilas; i++){
fwriter.append(rs.getString("idtabla"));
fwriter.append(",");
fwriter.append(rs.getString("campo1"));
fwriter.append(",");
fwriter.append(rs.getString("campo2"));
fwriter.append(",");
fwriter.append(rs.getString("campo3"));
fwriter.append(",");
fwriter.append(rs.getString("campo4"));
fwriter.append(",");
fwriter.append(rs.getString("campo5"));
fwriter.append(",");
fwriter.append(rs.getString("campo6"));
fwriter.append("\n");
}
fwriter.flush();
fwriter.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(writercsv!=null) {
writercsv.close();
}
}
}

En este punto, no se me muestra ningun error, pero al acceder al archivo, este está vacío

Agradezco toda la ayuda que puedan prestarme. Exito
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al llenar el csv

Publicado por Mario (26 intervenciones) el 30/04/2014 00:37:36
Revisé tu código en la parte de escritura al archivo y lo veo bien (suponiendo que la consulta si te está trayendo datos), salvo por la forma como creas el FileWriter, si vas a escribir varias veces sobre el mismo archivo debes utilizar el constructor que recibe la ruta del archivo y un boolean que indica si se adiciona o no al contenido del archivo

FileWriter fwriter = new FileWriter(fichero, true);

revisa también que el archivo tenga permisos de escritura. y que la consulta si está trayendo datos correctos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar