经过数周的不编程,我决定完成我的应用程序。上次我无法做文件写作和阅读,现在我想做。我也许可以使用数据库,但这似乎更容易。 我发现了this从我复制粘贴代码的页面。至少现在我能够检查手机上的文件内容(目前我没有使用任何虚拟SD卡,但它肯定会加速测试)。 问题出在这个代码中,每次我写这个文件,关闭我的应用程序,然后重新打开它并再次写入文件,文件的内容就会被重置。Android写入文件
File root = Environment.getExternalStorageDirectory();
File file = new File(root, "tomato50.txt");
if (assignArr.size() > 0) {
try {
if (root.canWrite()) {
FileWriter filewriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(filewriter);
for (int i = 0; i < assignArr.size(); i++) {
out.write(assignArr.get(i) + "\n");
Toast.makeText(MainActivity.this,
"out: " + assignArr.get(i), Toast.LENGTH_LONG)
.show();
}
out.close();
}
} catch (IOException e) {
Log.e("TAG", "Could not write file " + e.getMessage());
}
}
例如,
- 我把一个项目放到assignArr中。
- 该项目被写入文件。
- 我关闭了应用程序。 AssignArr变为空,因为它是一个变量。
- 我打开应用程序。
- 我把一个项目放到assignArr中。
- 我关闭了应用程序。 AssignArr变为空,因为它是一个变量。
- 我打开只显示最后一项的文件。
这是正确的。 true是一个重载构造函数的标志,以允许>>而不是> – Eric 2011-05-07 15:17:16