Ситуация такая: У меня есть файл, в нем записанны строки. Я пытаюсь найти строку по её содержанию и её удалить. Но проблема в том, что не могу найти в интернете как её удалить.
То-есть работа этого метода должна быть следующей:
Пользователь вводит логин, и по файлу идёт поиск, если находит, то он должен эту строку удалить.
Сам файл:
lol:9cdfb439c7876e703e307864c9167a15
you:91c366db3df8b21eeb76be5c250f1a40
kek:4cfdc2e157eefe6facb983b1d557b3a1
wewe:2a7d544ccb742bd155e55c796de8e511
Вот мой код:
public void DeleteUser()
{
var log = EnterLogin();
string path = ".htpasswd";
string[] deluser = System.IO.File.ReadAllLines(path, Encoding.Default);
foreach (string items in deluser)
{
if (items.Contains(log))
{
}
}
}
Текстовый формат — потоковый, в нём невозможно выбросить часть из середины.
Читайте файл построчно, пишите в выходной (другой!) файл только нужные строки, потом удаляйте исходный файл и перенесите новый файл в позицию старого.
Альтернативным методом было бы читать файл по байту, запоминать текущую позицию чтения и записи, складывать байты через декодер кодировки в строку, при приходе конца строки проверять её, возможно, менять позицию записи, и отбрасывать в конце хвост. Поверьте, вам этого не хочется.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Отрабатывает только событие OnDown3, а как заставить получить события от других канвасов?
Добрый деньПомогите понять, как заполнить combobox с условием