Carlos Barbosa
Carlos Barbosa

Reputation: 1432

append to file android

hey there, i need to append to my file but it is not working, it keeps overwriting the file, can anyone please tell me what is wrong:

  public void generateNoteOnSD(String sBody){

        try
        {
            File root = new File(Environment.getExternalStorageDirectory(), "AdidasParticipants");

            if (!root.exists()) {
                root.mkdirs();

            }

            File gpxfile = new File(root, "participants.txt");

            BufferedWriter bW;

            bW = new BufferedWriter(new FileWriter(gpxfile));
            bW.write(sBody);
            bW.newLine();
            bW.flush();
            bW.close();
            //Toast.makeText(mContext, "Tus datos han sido guardados", Toast.LENGTH_SHORT).show();
        }
        catch(IOException e)
        {
             e.printStackTrace();
          //   importError = e.getMessage();
            // iError();
        }
       } 

Thanks in advance.

Upvotes: 10

Views: 12969

Answers (1)

nicholas.hauschild
nicholas.hauschild

Reputation: 42849

You can fix it by changing the line where you assign the BufferedWriter:

bW = new BufferedWriter(new FileWriter(gpxfile, true));

When you open a file using the FileWriter constructor that only takes in a File, it will overwrite what was previously in the file. Supplying the second parameter as true tells the FileWriter that you want to append to the end of it.

Upvotes: 26

Related Questions