Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
1

Работа со StreamWriter и StreamReader. Удаление строки из файла

26.01.2015, 06:58. Показов 3995. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Пишу консольное приложение и имеется функция, которая позволяет удалить 1 запись по ключевому слову из файла.
Вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Console.Clear();
            Console.WriteLine("1.Удалить контакт\n2.Назад");
            while (true)
            {
                int choice = Int32.Parse(Console.ReadLine());
                string lines = "";
                switch (choice)
                {
                    case 1:
                        Console.WriteLine("Введите имя или номер контакта.");
                        string filter = Console.ReadLine();
                        using (StreamReader sr = new StreamReader("Phonebook.txt", true))
                        {
                            while ((lines = sr.ReadLine()) != null)
                            {
                                if (lines.Contains(filter))
                                {
                                    Console.WriteLine("Контакт успешно удален!", lines.Remove(0));
                                }
                            }
                        }
                        break;
                    default:
                        break;
                }
                if (choice == 2)
                    break;
Не могу правильно организовать удаление строки из файла, чтобы в файле оставались все записи, кроме удаленной.
Подскажите оптимальное решение. Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2015, 06:58
Ответы с готовыми решениями:

Всегда ошибка при открытии файла StreamReader, StreamWriter: "Устройство не готово"
using (StreamReader sr = new StreamReader(filename)) Делаю так, и всегда ошибка, всегда. ...

FileStream VS StreamWriter & StreamReader
Судя по названию темы, объясните пожалуйста, когда лучше использовать FileStream, а когда...

Не работает StreamReader/StreamWriter с NetworkStream
Всем привет! У меня есть такая проблема. Есть программа-клиент: using System; using...

Ввод, вывод с файлами через StreamReader, StreamWriter
файл Inlet.In,Outlet.out через Streamreader,Streamwriter public struct Point { ...

2
6 / 0 / 2
Регистрация: 18.10.2012
Сообщений: 5
26.01.2015, 08:23 2
Возможно можно сделать и лучше,но на скорую руку можно так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
           
                    case 1:
                        Console.WriteLine("Введите имя или номер контакта.");
                        string filter = Console.ReadLine();
                        string[] InputFile = File.ReadAllLines("Phonebook.txt");
                        File.Delete("Phonebook.txt");
                        foreach (string line in InputFile)
                        {
                            if (line.Contains(filter))
                            {
                                Console.WriteLine("Контакт успешно удален!");
                                continue;
                            }
                            else
                            {
                                
                                File.AppendAllText(@"Phonebook.txt", line+"\r\n");
                            }
                        }
                        break;
0
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
26.01.2015, 08:29  [ТС] 3
Maxelf, спасибо, сейчас попробую
0
26.01.2015, 08:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2015, 08:29
Помогаю со студенческими работами здесь

StreamWriter, StreamReader, где и как указать кодировку
В C# как известно все символы кодируются 2-мя байтами - следовательно есть определенные проблемы...

Передача и принятие объекта List<string> через StreamWriter и StreamReader
Имеется 2 программы: клиент и сервер. Сообщения строковые передаются без проблем, все получается, а...

Переписать задачу, используя StreamReader и StreamWriter, вместо BinaryWriter и BinaryReader
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru