2011-05-07 153 views
6

经过数周的不编程,我决定完成我的应用程序。上次我无法做文件写作和阅读,现在我想做。我也许可以使用数据库,但这似乎更容易。 我发现了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()); 
    } 
} 

例如,

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

回答

1

您可以使用BufferWriter类的函数append