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

ver*_*one 2 java android fileoutputstream

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

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

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

Jon*_*eet 6

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

你可能想:

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

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