c# найти и изменить строку в файле

181
27 декабря 2019, 01:20

Пытаюсь сделать редактор cfg файла (конфиг для коммутатора), в котором нужно изменить 2 значения. Суть такова - открыть конфиг (указать путь до файла), в текстбоксы вписать ip и milticast_ip и нажать "заменить", далее программа ищет строчку, содержащую часть команды, удаляет ее и вписывает заново часть команды уже с имеющимся значением из текстбокса.

private void selectBtn_Click(object sender, RoutedEventArgs e)
        {
            Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
            openFileDialog.Filter = "CFG files (*.cfg)|*.cfg";
            if (openFileDialog.ShowDialog() == true)
                cfgPath.Text = openFileDialog.FileName;
        }
        private void replaceBtn_Click(object sender, RoutedEventArgs e)
        { 
            string ipKomm = ipTxt.Text;
            if (cfgPath.Text != "")
            {
                string line = null;
                string line_to_delete = "config ipif System ipaddress";
                using (StreamReader reader = new StreamReader(cfgPath.Text)){
                    using (StreamWriter writer = new StreamWriter(cfgPath.Text)){
                        while ((line = reader.ReadLine()) != null){
                            if (String.Compare(line, line_to_delete) == 0)
                                continue;
                            writer.WriteLine(line);
                        }
                    }
                }
            }
            else {
                MessageBox.Show("Выберите файл для редактирования!");
            }

Сначала я выбираю нужный файл, он записывается, как путь в текстбокс, ниже в форме есть еще 2 текстбокса, в которые вписываю нужные параметры и кнопка "заменить" (replaceBtn_Click) - при нажатии проверяю наличие пути в текстбоксе до файла, ищу удаляемую строку и получаю ошибку в строке "StreamWriter writer = new StreamWriter(cfgPath.Text))" ... Подскажите, что я делаю не так или как мне реализовать то, что я хочу сделать?

READ ALSO
Как вывести float в целом виде без экспоненты? [дубликат]

Как вывести float в целом виде без экспоненты? [дубликат]

Как можно записать это в виде обычной записи(те

157
Не получается реализовать ICommand в MVVM

Не получается реализовать ICommand в MVVM

подскажите, что я сделал не правильно, у меня ICommand записано в раздел MVVM, но он не работает, если я ICommand переношу в раздел Model, то все работает,...

138
Декодировать поток byte[] формата jBig2

Декодировать поток byte[] формата jBig2

Подскажите бесплатные библиотеки, для декодирования полученных из Pdf изображенийИспользую iTextSharp

157
Запись аудио-файла с микрофона в формате LPCM без WAV-заголовка на C#

Запись аудио-файла с микрофона в формате LPCM без WAV-заголовка на C#

Стоит задача записи аудио файла в формате LPCM (без WAV-заголовка)Подскажите, какой библиотекой можно воспользоваться для формирования аудио-файла...

125