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

标签 java android fileoutputstream

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

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

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

最佳答案

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

你可能想:

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

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

关于java - 如何使用 FileOutputStream 删除 .txt 文件中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17022387/

相关文章:

java ;文件输入输出中特定字符的换行

java - Spring MVC 相当于 Struts for I18N 的 getText()

android - 如何通过基于 VLC 或 RTSP 的 WiFi 从 Android 发送流媒体?

java - Last.fm 不会返回艺术家图像

android - 智能指针(Android强指针)引用类型拷贝

java - 在 Java 中从 FileOutputStream 创建和写入文件

java - aws s3 java sdk 下载 pdf 损坏

java - 为什么 onActivityResult() 被工作线程阻塞?

java - 制造情况!部分程序使用 3 种编程语言。使用哪个构建工具?

java - 从 2 个编辑文本中获取文本并将它们放入二维数组中