经过数周的编程后,我决定完成我的申请.上次我无法写文件和阅读,现在我想做.我也许可以使用数据库,但这似乎更容易.
我找到了
this页面,我从那里复制粘贴代码.至少现在我能够检查手机上文件的内容(我暂时没有使用任何虚拟SD卡,但它肯定会加速测试).
问题在于这个代码,每次我写文件,关闭我的应用程序,然后重新打开它并再次写入文件,文件的内容被重置.
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变为空,因为它是变量.
>我打开只显示最后一项的文件.