Запись строки в текстовый файл из ресурсов - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь записать строку с именем «a» в текстовый файл из ресурсов, который называется «file.txt».В любом случае, я всегда получаю сообщение об ошибке «Недопустимые символы в пути».Строка "a" получается из string.join из "\ r \ n" с массивом "lines", в котором нет пустых записей.

Я пытался использовать регулярные выражения для замены недопустимых символов, но это не сработало.

Я бы хотел, чтобы строка была сохранена в тексте.

        string a = string.Join("\r\n", lines);
        string ee = Regex.Replace(a, @"[\[\]\\\^\$\.\|\?\*\+\(\)\{\}%,;><!@#&\-\+/]", "");
        System.IO.File.WriteAllText(Properties.Resources.file, ee);

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

проблема с Properties.Resources.file, в которой есть недопустимые символы.a нормально, вам не нужно выполнять какие-либо регулярные выражения для решения этой проблемы.

Если вы не знаете, что такое Properties.Resources.file, попробуйте установить точку останова на этой строке и проверить, что Properties.Resources.file установлен на

0 голосов
/ 30 апреля 2019

Вы не можете изменить ваши Properties.Resources файлы, как это. Ошибка, которую вы получаете, заключается в том, что путь (Properties.Resources.xxxx), на который вы ссылаетесь, не является допустимым.

Попробуйте сохранить строку в реальном файле, например:

    string a = string.Join("\r\n", lines);
    string ee = Regex.Replace(a, @"[\[\]\\\^\$\.\|\?\*\+\(\)\{\}%,;><!@#&\-\+/]", "");
    System.IO.File.WriteAllText("output.txt", ee);

Это создаст файл с именем output.txt в текущем каталоге, в котором работает ваше приложение. Убедитесь, что у приложения есть права на запись в этот каталог.

В качестве альтернативы вы можете использовать Properties.Settings, где вы можете определить переменную и выполнять операции чтения / записи во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...