Foros del Web » Programación para mayores de 30 ;) » Java »

datos ResultSet a fichero plano

Estas en el tema de datos ResultSet a fichero plano en el foro de Java en Foros del Web. Hola. Bien mi problema es que quiero volcar el contenido de un ResultSet, que obtengo de una consulta, a un fichero plano. He estado buscando ...
  #1 (permalink)  
Antiguo 06/06/2007, 02:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 47
Antigüedad: 17 años, 8 meses
Puntos: 0
datos ResultSet a fichero plano

Hola.

Bien mi problema es que quiero volcar el contenido de un ResultSet, que obtengo de una consulta, a un fichero plano. He estado buscando y no encuentro nada funcione.

Después de muchos cambios, he intentado algo como esto:

PrintWriter out=null;
out = new PrintWriter(new BufferedWriter(new FileWriter(destino)));

resultado=GestionBaseDatos.consultarMes();

ResultSetMetaData datosResultado = null;
int numColumnas=0;
String nombreColumna=null;

while (resultado.next())
{
datosResultado=resultado.getMetaData();
numColumnas=datosResultado.getColumnCount();
System.out.println("El numero de columnas obtenido "+numColumnas);
for(int i=1;i<=numColumnas;i++)
{
nombreColumna=datosResultado.getColumnName(i);
String valorColumna=resultado.getString(nombreColumna);
out.write(valorColumna,0,valorColumna.length());
}
}

Por simplicidad, no he puestos los bloques de try/catch. Bien pues esto le correctamente las columnas, pero no soy capaz de que escriba en destino nada.

Si hay alguien que pueda ayudarme, o que me indique como me puedo faciliar la tarea se lo agradezco.

Muchas gracias. Un saludo
  #2 (permalink)  
Antiguo 06/06/2007, 04:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 47
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: datos ResultSet a fichero plano

Bien, al final he conseguido escribir en el fichero, aunque todavía tengo en duda que sea la mejor manera de hacerlo.

Dejo el código, por si le ayuda a alguien:
DataOutputStream filtro=null;
FileOutputStream out = new FileOutputStream (destino);
filtro = new DataOutputStream(out);

while (resultado.next())
{
datosResultado=resultado.getMetaData();
numColumnas=datosResultado.getColumnCount(); for(int i=1;i<=numColumnas;i++)
{
nombreColumna=datosResultado.getColumnName(i);
String valorColumna=resultado.getString(nombreColumna);
filtro.writeBytes(valorColumna);
filtro.writeBytes("#");
}
//imprimimos salto de pagina
filtro.writeBytes("\n");
}

Ya he dicho, que creo que no es la mejor manera pero funciona.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.