在安卓系统中如何将内容追加到文件末尾

10

嘿,我需要将内容追加到我的文件中,但是它一直在覆盖原有的内容,有人能告诉我问题出在哪里吗:

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

提前致谢。


3
无法工作?是怎样的情况?无法打字?出现错误信息?什么情况? - Aleadam
1个回答

26

您可以通过更改为BufferedWriter分配的行来修复它:

bW = new BufferedWriter(new FileWriter(gpxfile, true));
当你使用只接受 File 参数的 FileWriter 构造函数打开文件时,它会覆盖先前在文件中的内容。将第二个参数提供为 true 可告诉 FileWriter 你想要在文件末尾添加内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接