作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java Android 开发的初学者。我正在使用 Eclipse SDK 3.6.1 版本。我正在尝试创建一个 txt 文件并写入日期/时间和字符串。但我无法更新 txt 文件,我只看到一行。这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.logfile);
working();
viewing ();
}
public void working() {
// try to write the content
try {
// open myfilename.txt for writing
FileOutputStream out =
openFileOutput("file.txt",Context.MODE_APPEND);
// write the contents on mySettings to the file
String time = DateFormat.getDateTimeInstance().format(new Date());
String abs = "action";
String mySettings = time+" -- "+abs+"\n";
out.write(mySettings.getBytes());
// close the file
out.close();
} catch (java.io.IOException e) {
//do something if an IOException occurs.
e.printStackTrace();
}
}
public void viewing (){
TextView rodyk = (TextView)findViewById(R.id.textas);
try {
// open the file for reading
InputStream instream = openFileInput("file.txt");
// if file the available for reading
if (instream != null) {
// prepare the file for reading
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
// read every line of the file into the line-variable, on
// line at the time
while (( line = buffreader.readLine()) != null) {
// do something with the settings from the file
rodyk.setText(line);
}
}
// close the file again
instream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我使用了 Context.MODE_APPEND,但仍然无法更新 txt 文件。我只看到一排。
最佳答案
rodyk.setText(line);
此代码不会将您阅读的行附加到该 TextView 中已有的文本。它会将文本更改为您阅读的最近一行。因此,您应该只能在 TextView 中看到 file.txt 最后一行的内容。
此外,每当您重新安装应用程序时(因为您在创建和测试过程中可能会做很多事情),您的 file.txt 可能会被新文件替换。
关于android - 如何更新Android应用程序中的txt文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004247/
我是一名优秀的程序员,十分优秀!