我正在尝试从称为“ 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);
答案 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
,您可以在其中定义变量并在运行时对其执行读/写操作。