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

Java 如何使用FileOutputStream删除.txt文件中的一行?,java,android,fileoutputstream,Java,Android,Fileoutputstream,我需要从android设备内部存储器中存储的.txt文件中删除一行。我正在使用 FileOutputStream fos=context.openFileOutput(“file.txt”,context.MODE\u APPEND) 打开.txt文件。我已经知道要删除的行了。如何删除它?很抱歉,如果这个问题很简单,我在谷歌上找不到答案。你不能轻易地从文件中删除一行文本。您可以使用包含相同字符数的其他数据覆盖它,但基本上,文件不支持从文件中的任意位置删除数据 您可能想: 为现有文件创建读取器

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

FileOutputStream fos=context.openFileOutput(“file.txt”,context.MODE\u APPEND)


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

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

您可能想:

  • 为现有文件创建读取器
  • 为新文件创建编写器
  • 一次复制一行,跳过要删除的行
  • 关闭读写器
  • 重命名旧文件,使其不碍事
  • 将新文件重命名为旧文件名
  • 删除重命名的旧文件
(这些步骤确保即使出现问题,也不会丢失数据。)