从资源将字符串写入文本文件

时间:2019-04-29 22:12:33

标签: c# winforms

我正在尝试从称为“ file.txt”的资源中将名为“ a”的字符串写入文本文件。无论如何,我总是会收到“路径中的无效字符”错误。字符串“ a”由“ \ r \ n”的string.join与名为“ lines”的数组组成,其中没有空条目。

我尝试使用正则表达式替换无效字符,但是没有用。

我想将a字符串保存到文本中。

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

2 个答案:

答案 0 :(得分:1)

问题在于Properties.Resources.file包含非法字符。 a很好,您无需对其进行任何正则表达式即可解决此问题。

如果您不知道什么是Properties.Resources.file,请尝试在该行上进行断点并检查Properties.Resources.file设置为

答案 1 :(得分:0)

您不能像这样修改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,您可以在其中定义变量并在运行时对其执行读/写操作。