嘿,我需要附加到我的文件中,但是它不起作用,它会不断覆盖文件,任何人都可以告诉我出什么问题了:
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
,它将覆盖文件中先前的内容。如果提供第二个参数,true
则FileWriter
表示您要附加到第二个参数的末尾。
问题内容: 我用谷歌搜索了一段时间,但似乎找不到它,这应该很容易。我想将CR添加到使用Transformer创建的XML文件的末尾。有没有办法做到这一点> 我尝试了以下操作,但这导致空白文件? 问题答案: 简单…只需添加append选项:
由来 顾名思义,FileAppender类表示文件追加器。此对象持有一个一个文件,在内存中积累一定量的数据后统一追加到文件,此类只有在写入文件时打开文件,并在写入结束后关闭之。因此此类不需要关闭。 在调用append方法后会缓存于内存,只有超过容量后才会一次性写入文件,因此内存中随时有剩余未写入文件的内容,在最后必须调用flush方法将剩余内容刷入文件。 也就是说,这是一个支持缓存的文件内容追加器
在我的用例中,我需要一个find a way将键/值对追加到现有序列文件中。怎么做?任何线索都会大有帮助。我正在使用Hadoop2X。
问题内容: 我当前正在提取war文件的内容,然后将一些新文件添加到目录结构中,然后创建一个新的war文件。 所有这些都是通过Java以编程方式完成的-但我想知道,复制war文件然后追加文件是否会更有效-那么只要战争扩大,我就不必等待,再次被压缩。 但是,在文档或任何在线示例中,我似乎都找不到找到此方法的方法。 任何人都可以给一些提示或指示吗? 更新: 答案之一中提到的TrueZip似乎是一个非常好
< code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:
问题内容: 我想计算一些列数据并将其作为列写入文件。然后,在计算了另一列数据之后,我想将其附加到同一文件中,但作为新列。 这是我所做的: 结果-它将新列追加到第一列下方,因此我只有一个长列。 谢谢, 问题答案: 您将必须逐行读取文件,然后将新列插入每一行。这是使用BufferedReader和BufferedWriter的解决方案