В зависимости от размера файла там являются в основном двумя решениями:
Для умеренно малого файла вы можете прочитать весь файл в памяти. Восстановите файл и запишите его, за исключением строки, которую вы хотите удалить.
Прочтите, строковое обозначение, из исходного файла. Напишите все строки, кроме тех, которые вы хотите удалить, в новый временный файл. Переименуйте временный файл в качестве исходного файла. Размер файла здесь не имеет значения (кроме скорости).
Метод 1 имеет большой недостаток: если есть ошибка (ошибка в коде, система выходит из строя, или другая проблема) содержание не может все быть написано, и вы можете потерять данные. Метод 1 обычно выполняется быстрее, и он позволяет сделать множество преобразований данных простым способом.
Почему вы хотите удалить его в _that_ файле? Почему вы не можете создать новый файл с необходимыми строками? –
[Это] (http://stackoverflow.com/a/15759017/3970360) может быть полезно для вашего ситутации. –
Ваш код выглядит почти прекрасным, как есть. Что с этим не так? Разве это не делает то, что вы хотите? –