Android写文件

erd*_*ter 6 android file

经过数周的编程后,我决定完成我的申请.上次我无法写文件和阅读,现在我想做.我也许可以使用数据库,但这似乎更容易.我从我复制粘贴代码的地方找到了这个页面.至少现在我能够检查手机上文件的内容(我暂时没有使用任何虚拟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());
    }
}
Run Code Online (Sandbox Code Playgroud)

例如

  1. 我把一个项目放入assignArr.
  2. 该项目被写入文件.
  3. 我关闭了应用程序.AssignArr变为空,因为它是变量.
  4. 我打开应用程序.
  5. 我把一个项目放入assignArr.
  6. 我关闭了应用程序.AssignArr变为空,因为它是变量.
  7. 我打开只显示最后一项的文件.

MBy*_*ByD 15

使用FileWriter filewriter = new FileWriter(file,true);将数据追加到现有文件.