我需要从存储在 Android 设备内部存储器中的 .txt
文件中删除一行。我正在使用
FileOutputStream fos = context.openFileOutput("file.txt", Context.MODE_APPEND);
打开 .txt
文件。我已经知道要删除的行。如何删除它?抱歉,如果这个问题很简单,我在 Google 上查找并找不到答案。
最佳答案
您无法轻易地从文件中删除一行文本。您可以用包含相同字符数的其他数据覆盖它,但基本上文件不支持从文件中的任意位置删除数据。
你可能想:
- 为现有文件创建阅读器
- 为新文件创建编写器
- 一次复制一行,跳过要删除的行
- 同时关闭读者和作者
- 重命名旧文件不碍事
- 将新文件重命名为旧文件名
- 删除重命名的旧文件
(这些步骤确保即使出现问题,您也不会丢失数据。)
关于java - 如何使用 FileOutputStream 删除 .txt 文件中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17022387/