Pregunta

Actualmente estoy usando FileWriter para crear y escribir en un archivo. ¿Hay alguna forma de que pueda escribir en el mismo archivo cada vez sin eliminar el contenido allí?

   fout = new FileWriter(
    "Distribution_" + Double.toString(_lowerBound) + "_" + Double.toString(_highBound) + ".txt");
    fileout = new PrintWriter(fout,true);
fileout.print(now.getTime().toString() + ", " + weight + ","+ count +"\n");
    fileout.close();
¿Fue útil?

Solución

Pase true como segundo argumento a FileWriter para activar " agregar " modo.

fout = new FileWriter("filename.txt", true);

Referencia de uso de FileWriter

Otros consejos

Del Javadoc , puede usar el constructor para especificar si desea agregar o no.

  

public FileWriter (archivo,                     boolean append)              lanza IOException

     

Construye un objeto FileWriter dado un objeto File. Si el segundo   argumento es verdadero, entonces los bytes serán   escrito al final del archivo en lugar   que el principio.

Puede abrir FileWriter en modo de agregado pasando true como segundo parámetro:

fout = new FileWriter("Distribution_" + ... + ".txt", true);

Puede pasar true como segundo parámetro al constructor de FileWriter para indicarle al escritor que agregue los datos en lugar de reescribir el archivo.

Por ejemplo,

fout = nuevo FileWriter (     " Distribución_ " + Double.toString ( lowerBound) + " " + Double.toString (_highBound) + " .txt " ;, verdadero );

Espero que esto resuelva tu problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top