Saltar al contenido

Escribir en un archivo de texto sin sobrescribir en Java

Esta pregunta se puede solucionar de diferentes maneras, pero en este caso te dejamos la respuesta más completa para nosotros.

Solución:

solo cambia PrintWriter out = new PrintWriter(log); a

PrintWriter out = new PrintWriter(new FileWriter(log, true));

use un FileWriter en su lugar.

FileWriter(File file, boolean append)

el segundo argumento en el constructor le dice a FileWriter que agregue cualquier entrada dada al archivo en lugar de sobrescribirla.

Aquí hay un código para su ejemplo:

File log = new File("log.txt")

try
    if(!log.exists())
        System.out.println("We had to make a new file.");
        log.createNewFile();
    

    FileWriter fileWriter = new FileWriter(log, true);

    BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
    bufferedWriter.write("******* " + timeStamp.toString() +"******* " + "n");
    bufferedWriter.close();

    System.out.println("Done");
 catch(IOException e) 
    System.out.println("COULD NOT LOG!!");

Por alguna razón, ninguno de los otros métodos funcionó para mí… Así que probé esto y funcionó. Espero eso ayude..

JFileChooser c= new JFileChooser();
c.showOpenDialog(c);
File write_file = c.getSelectedFile();
String Content = "Writing into filen hi n hello n hola";
try 

    RandomAccessFile raf = new RandomAccessFile(write_file, "rw");
    long length = raf.length();
    System.out.println(length);
    raf.setLength(length + 1); //+ (integer value) for spacing
    raf.seek(raf.length());
    raf.writeBytes(Content);
    raf.close();
 
catch (Exception e) 
    System.out.println(e);

Aquí puedes ver las comentarios y valoraciones de los usuarios

Si conservas alguna indecisión y forma de reaccionar nuestro noticia eres capaz de dejar un informe y con mucho gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *