2

我需要从.txt存储在 android 设备内部存储器中的文件中删除一行。我在用

FileOutputStream fos = context.openFileOutput("file.txt", Context.MODE_APPEND);

打开.txt文件。我已经知道要删除的行。如何删除它?抱歉,如果这个问题很简单,我在 Google 上查找并找不到答案。

4

1 回答 1

6

您不能轻易地从文件中删除一行文本。您可以用包含相同数量字符的其他数据覆盖它,但基本上文件不支持从文件中的任意位置删除数据。

您可能想要:

  • 为现有文件创建阅读器
  • 为新文件创建写入器
  • 一次复制一行,跳过要删除的行
  • 关闭读写器
  • 重命名旧文件
  • 将新文件重命名为旧文件名
  • 删除重命名的旧文件

(这些步骤确保即使出现问题,您也不会丢失数据。)

于 2013-06-10T11:07:45.943 回答