2009-08-03 21 views
26

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 los contenidos allí?Java FileWriter con modo agregar

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(); 

Respuesta

78

Pass true como segundo argumento a FileWriter para activar el modo "añadir".

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

FileWriter usage reference

+0

java doc se ha mudado –

+0

Todavía funciona en 2015 –

7

Desde el Javadoc, se puede utilizar el constructor para especificar si desea añadir o no.

FileWriter público (del archivo, append booleano) throws IOException

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

+0

javadoc se ha mudado –

5

Puede abrir el FileWriter en modalidad de apertura al pasar true como segundo parámetro:

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

puede pasar cierto como segundo parámetro al constructor de FileWriter para instruir el escritor para anexar los datos en lugar de reescribir el archivo.

Por ejemplo,

fout = new FileWriter ( "Distribution_" + Double.toString (LowerBound) + "" + Double.toString (_highBound) + ".txt", cierto);

Espero que esto resuelva su problema.

Cuestiones relacionadas