当前位置: 首页 > 面试题库 >

追加到文件android

荣晨朗
2023-03-14
问题内容

嘿,我需要附加到我的文件中,但是它不起作用,它会不断覆盖文件,任何人都可以告诉我出什么问题了:

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

提前致谢。


问题答案:

您可以通过更改分配以下内容的行来解决此问题BufferedWriter

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

使用FileWriter仅包含的构造函数打开文件时File,它将覆盖文件中先前的内容。如果提供第二个参数,trueFileWriter表示您要附加到第二个参数的末尾。



 类似资料:
  • 问题内容: 我用谷歌搜索了一段时间,但似乎找不到它,这应该很容易。我想将CR添加到使用Transformer创建的XML文件的末尾。有没有办法做到这一点> 我尝试了以下操作,但这导致空白文件? 问题答案: 简单…只需添加append选项:

  • 由来 顾名思义,FileAppender类表示文件追加器。此对象持有一个一个文件,在内存中积累一定量的数据后统一追加到文件,此类只有在写入文件时打开文件,并在写入结束后关闭之。因此此类不需要关闭。 在调用append方法后会缓存于内存,只有超过容量后才会一次性写入文件,因此内存中随时有剩余未写入文件的内容,在最后必须调用flush方法将剩余内容刷入文件。 也就是说,这是一个支持缓存的文件内容追加器

  • 在我的用例中,我需要一个find a way将键/值对追加到现有序列文件中。怎么做?任何线索都会大有帮助。我正在使用Hadoop2X。

  • 问题内容: 我当前正在提取war文件的内容,然后将一些新文件添加到目录结构中,然后创建一个新的war文件。 所有这些都是通过Java以编程方式完成的-但我想知道,复制war文件然后追加文件是否会更有效-那么只要战争扩大,我就不必等待,再次被压缩。 但是,在文档或任何在线示例中,我似乎都找不到找到此方法的方法。 任何人都可以给一些提示或指示吗? 更新: 答案之一中提到的TrueZip似乎是一个非常好

  • < code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:

  • 问题内容: 我想计算一些列数据并将其作为列写入文件。然后,在计算了另一列数据之后,我想将其附加到同一文件中,但作为新列。 这是我所做的: 结果-它将新列追加到第一列下方,因此我只有一个长列。 谢谢, 问题答案: 您将必须逐行读取文件,然后将新列插入每一行。这是使用BufferedReader和BufferedWriter的解决方案