我正在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。谢谢你的帮助。