c#路径中的非法字符
c# IIllegal Characters in Path
我看不出下面的代码有什么问题。它在第 4 行抛出错误
private void ProcessCsvsReplaceNullsWithSpaces()
{
string server = ConfigurationSettings.AppSettings["RapServer"];
string importDir = ConfigurationSettings.AppSettings["importDir"];
string fileName = server + @"\" + importDir + "\EMIR_VU_E_*.csv";
string replacenull = File.ReadAllText(fileName);
replacenull = replacenull.Replace("null", "");
File.WriteAllText(fileName, replacenull);
}
抛出异常:'System.ArgumentException' 在 mscorlib.dll
附加信息:路径中存在非法字符。
您可以随时检查您的路径,是否包含无效的路径字符。
尝试使用方法 Path.GetInvalidPathChars
.
进行迭代
这会列出所有无效字符。现在你可以迭代你的路径来检查是否有匹配该列表的字符
bool containsInvalidChars = (!string.IsNullOrEmpty(filepath)
&& filepath.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0);
如果这是真的,你的路径中有一个无效字符
正如其他一些人提到的:您的文件名不能包含 *
字符
您还需要检查您的文件名是否包含无效字符:
这是方法:System.IO.Path.GetInvalidFileNameChars()
在这里您可以找到 *
:
我看不出下面的代码有什么问题。它在第 4 行抛出错误
private void ProcessCsvsReplaceNullsWithSpaces()
{
string server = ConfigurationSettings.AppSettings["RapServer"];
string importDir = ConfigurationSettings.AppSettings["importDir"];
string fileName = server + @"\" + importDir + "\EMIR_VU_E_*.csv";
string replacenull = File.ReadAllText(fileName);
replacenull = replacenull.Replace("null", "");
File.WriteAllText(fileName, replacenull);
}
抛出异常:'System.ArgumentException' 在 mscorlib.dll
附加信息:路径中存在非法字符。
您可以随时检查您的路径,是否包含无效的路径字符。
尝试使用方法 Path.GetInvalidPathChars
.
这会列出所有无效字符。现在你可以迭代你的路径来检查是否有匹配该列表的字符
bool containsInvalidChars = (!string.IsNullOrEmpty(filepath)
&& filepath.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0);
如果这是真的,你的路径中有一个无效字符
正如其他一些人提到的:您的文件名不能包含 *
字符
您还需要检查您的文件名是否包含无效字符:
这是方法:System.IO.Path.GetInvalidFileNameChars()
在这里您可以找到 *
: