Android写文件

Android写文件,android,file,Android,File,经过几周的不编程,我决定完成我的申请。上次我不能写文件和读文件,现在我想做。我也许可以使用数据库,但这似乎容易得多。 我找到了复制粘贴代码的页面。至少现在我可以在手机上查看文件的内容(我暂时不使用任何虚拟SD卡,但这肯定会加快测试速度)。 这个代码的问题是,每次我写文件时,关闭我的应用程序,然后重新打开并再次写文件,文件的内容就会重置 File root = Environment.getExternalStorageDirectory(); File file = new File(root,

经过几周的不编程,我决定完成我的申请。上次我不能写文件和读文件,现在我想做。我也许可以使用数据库,但这似乎容易得多。 我找到了复制粘贴代码的页面。至少现在我可以在手机上查看文件的内容(我暂时不使用任何虚拟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());
    }
}
File root=Environment.getExternalStorageDirectory();
File File=新文件(根,“tomato50.txt”);
if(assignArr.size()>0){
试一试{
if(root.canWrite()){
FileWriter FileWriter=新的FileWriter(文件);
BufferedWriter out=新的BufferedWriter(filewriter);
对于(int i=0;i
例如

  • 我把一件东西放进了assignArr
  • 该项将写入文件中
  • 我关闭应用程序。AssignArr为空,因为它是一个变量
  • 我打开应用程序
  • 我把一件物品放进了房间
  • 我关闭应用程序。AssignArr为空,因为它是一个变量
  • 我打开仅显示最后一项的文件

  • 用于将数据追加到现有文件。

    您可以使用类
    BufferWriter
    的函数
    append
    ,这是正确的。true是重载构造函数的标志,允许>>而不是>