在一定数量的行之后重新启动文件写入

时间:2014-06-16 17:39:48

标签: java android file io outputstream

我正在Android中尝试将一些行写入文件。经过一定数量的行,比如说100,我希望文件删除第一行,然后在末尾添加一行。所以基本上,我想继续写入文件,但将限制保持在100行。我一直在阅读并发现java中的文件与我正在尝试的内容并不友好。我在这里找不到任何内容http://docs.oracle.com/javase/tutorial/essential/io/file.html

有没有更好的方法将文件保持在100行的限制,并在之后添加新行时删除最旧的行?

更具体地说,我希望textView显示服务发送的100个最新事件。

截至目前,我有这种方法来显示我的STORETEXT文件,

public void readFileInEditor() {
    try {
        InputStream in = openFileInput(STORETEXT);
        if (in != null) {
            InputStreamReader tmp = new InputStreamReader(in);
            BufferedReader reader = new BufferedReader(tmp);
            String str;
            StringBuilder buf = new StringBuilder();
            while ((str = reader.readLine()) != null) {
                buf.append(str + "\n");
            }
            in.close();
            writelog.setText(buf.toString());
        }
    } catch (java.io.FileNotFoundException e) {
        // that's OK, we probably haven't created it yet
    } catch (Throwable t) {
        Toast.makeText(this, "Exception: " + t.toString(),
                Toast.LENGTH_LONG).show();
    }
}

我写这样的文件......

OutputStreamWriter out = new OutputStreamWriter(openFileOutput(
                STORETEXT, MODE_APPEND));
        out.write("Some User Activity");
        out.write("\n");
        out.close();

我想修改我的代码只编写100个最近的活动,然后将其设置为我的textView。谢谢你的帮助。

0 个答案:

没有答案