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