如何将字符串附加到文本文件中?我知道如何在文本文件中写入,但现在我想使用我的代码附加,但它不会只是编写一个新字符串而附加它。这是我的代码:
FileOutputStream fOut = null;
OutputStreamWriter osw = null;
try {
fOut = openFileOutput("sample.txt", Context.MODE_PRIVATE);
osw = new OutputStreamWriter(fOut);
osw.append("this is append text");
osw.close();
fOut.close();
} catch (Exception e) {
Toast.makeText(Ticketing.this, "Error: " + e,
Toast.LENGTH_SHORT).show();
e.printStackTrace(System.err);
return;
}
请帮忙! 对不起,我的英语不好。 谢谢!
答案 0 :(得分:1)
使用BufferedWriter
来避免创建新字符串。
做这样的事情:
try{
File file =new File("sample.txt");
FileWriter fW= new FileWriter(file.getName(),true);
BufferedWriter bW= new BufferedWriter(fW);
bW.write("this is append text");
bW.close();
}
catch(Exception e)
{Log.e("Exception: ", e + " ");}
答案 1 :(得分:0)
答案 2 :(得分:0)
您必须使用new FileOutputStream("sample.txt", true)
public FileOutputStream(File file,boolean append)抛出FileNotFoundException
创建一个文件输出流以写入由。表示的文件 指定的File对象。如果第二个参数为true,则字节将为 被写到文件的末尾而不是开头。一个新的 创建FileDescriptor对象以表示此文件连接。 首先,如果有安全管理器,则调用其checkWrite方法 将file参数表示的路径作为参数。
如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出FileNotFoundException。
参数:file - 要写入的文件'。
append - 如果为true,则将字节写入文件末尾而不是开头
答案 3 :(得分:0)
mmm ...试试这个..
FileOutputStream fOut = null;
OutputStreamWriter osw = null;
String separator = System.getProperty("line.separator");
try {
fOut = openFileOutput("sample.txt",MODE_APPEND|MODE_WORLD_READABLE);
osw = new OutputStreamWriter(fOut);
osw.write("this is append text");
osw.write(separator);
osw.flush();
osw.close();
} catch (Exception e) {
Toast.makeText(Ticketing.this,"Error: " + e, Toast.LENGTH_SHORT).show();
return;
}