Cargando

Añadir valores a archivo en vez de sobreescribir en Java




Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 23:16
Estoy creando un archivo CSV y cada vez que una accion ocurre me gustaria de poder escribir data al archivo. el problema que estoy teniendo es que sobreescribe la info cuando se esta ingresando por segunda vez. Como hago para añadir la data al final del archivo?

Les dejo mi codigo completo:

public boolean salvar_a_csv(){ 
File folder = new File(Environment.getExternalStorageDirectory() + "/HKA_CAL"); Environment.getExternalStorageDirectory() get the location of external storage boolean success = true;
if(!folder.exists()) { success = folder.mkdir(); } 
if (success) { 
File stored_hka = new File(Environment.getExternalStorageDirectory()+"/HKA_CAL/Stored_values.csv"); 
boolean file_existed=true; try{ if(!stored_hka.exists()){ stored_hka.createNewFile(); file_existed=false; } 

FileOutputStream fOut = new FileOutputStream(stored_hka); 
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
if(!file_existed){ 

myOutWriter.append("Calibration Tracking\r\n"); 

myOutWriter.append(",ZERO1,,Zero2,,cal1,,cal2,,CALIBRATION FACTORS\r\n"); myOutWriter.append("Date,Stab,Read,Stab,Read,Stab,Read,Stab,Read,Unit S/N,F Zero,F Offset,F Factor\r\n"); } myOutWriter.append("Date" +","+get_step3_stab()+","+get_step3_read() +","+get_step6_stab()+","+get_step6_read() +","+get_step8_stab()+","+get_step8_read() +","+get_step11_stab()+","+get_step11_read() +","+get_sn_num()+","+get_f_zero() +","+get_f_offset()+","+get_f_factor()+"\r\n" ); 
myOutWriter.close(); 
fOut.close(); } 
catch(Exception e){ return false; } 
return true; } 
else { return false; } }

  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba

 

Publicado 19 noviembre 2014 - 06:48
Usa el constructor de FileOutputStream que tiene un booleano para añadir.

 

Publicado 19 noviembre 2014 - 06:49
En vez de hacer esto:

new FileOutputStream(stored_hka);

cambialo por lo siguiente:

new FileOutputStream(stored_hka, true);

Ese valor true te permitira añadir los valores en vez de sobreescribir.

   AUTOR PREGUNTA

Publicado 19 noviembre 2014 - 19:16
Eso era Joel! solucionado, gracias


X