2013-06-10 1 views
2

Мне нужно удалить строку из файла .txt, хранящегося во внутреннем хранилище устройства Android. Я используюКак удалить строку в TXT-файле с помощью FileOutputStream?

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

открыть файл .txt. Я уже знаю строку, которую нужно удалить. Как удалить его? Извините, если этот вопрос прост, я посмотрел и не нашел ответа на Google.

ответ

6

Вы не можете легко удалить строку текста из файла. Вы можете перезаписать его другими данными, которые содержат одинаковое количество символов, но в основном файлы не поддерживают удаление данных из произвольных мест в файле.

Вы, вероятно, хотите:

  • Создать ридер для существующего файла
  • Создать писатель для нового файла
  • Копирование одна линии в то время, пропуская линии, которую вы хотите удалить
  • Закрыть как читатель и писатель
  • Переименуйте старый файл из пути
  • Переименуйте новый файл со старым именем файла
  • Удалить переименованный старый файл

(Эти шаги убедитесь, что даже если что-то пойдет не так, вы никогда не потеряете данные.)

Смежные вопросы