如何使用FileOutputStream删除.text文件中的一行?

时间:2013-06-10 11:03:25

标签: java android fileoutputstream

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

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

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

1 个答案:

答案 0 :(得分:6)

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

你可能想:

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

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