@lolrofl01

Как удалить нужную строку в большом файле?

Добрый день!
У меня есть множество файлов со ссылками (в каждом файле порядка 50к строк), суть в том, что у меня парсер ходит по каждой ссылке, и после того, как он по ней прошел, желательно строку с этой ссылкой из файла удалить, чтобы не мешала. Но единственный алгоритм который я нашел в просторах интернета говорит о том, что весь файл придется выгружать в массив, из массива удалять нужные строки, а затем заново записывать все содержимое массива в файл. Неужели нет другого способа? Дело в том, что у меня в парсере может вылететь очень много различных throw exception, и работа моментально прекратится. То есть, формировать массив во время работы, а в самом конце его записывать в файл не выйдет, нужно на каждой итерации делать перезапись, на что уйдет уйма времени и памяти. Может можно что-то еще придумать?
Заранее благодарю!
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
Отвлечённо от сути вопроса:

для такого лучше использовать базу данных - пусть даже файловую. Вашим способом вы тратите очень много ресурсов на простую операцию.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
Вообще-то есть такая замечательная конструкция..

try {}
catch(\Exception $e) {}
finally {}


которая позволяет обрабатывать исключения (секция catch)
либо сделать что-то независимо от того, выполнился ли весь код (секция finally)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы