Android FIle操作(APPEND)

时间:2015-02-03 09:36:16

标签: java android eclipse

如何将字符串附加到文本文件中?我知道如何在文本文件中写入,但现在我想使用我的代码附加,但它不会只是编写一个新字符串而附加它。这是我的代码:

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

请帮忙! 对不起,我的英语不好。 谢谢!

4 个答案:

答案 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)

打开文件

来自documentation

  

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;

}