System.ArgumentException 路径中的非法字符
Posted
技术标签:
【中文标题】System.ArgumentException 路径中的非法字符【英文标题】:System.ArgumentException illegal characters in path 【发布时间】:2010-09-26 22:29:33 【问题描述】:我正在使用Path.Combine
,其中一个字符串包含 Unicode 字符。我得到System.ArgumentException exception; illegal characters in path
。
根据MSDN文件路径/名称可以有unicode字符。为什么会出现此异常?
编辑:
代码如下:
Path.Combine("C:\PDM\Silver","Amabel Bender QQQ")
【问题讨论】:
如果我们能看到代码可能更容易... 你能发布有问题的路径吗? 【参考方案1】:我发现了问题所在。第二个字符串中包含一个“制表符”字符,导致异常。 (当我在这里粘贴字符串时没有出现)
谢谢大家,很抱歉造成混乱。
【讨论】:
我刚刚同时发布了完全相同的建议 :)【参考方案2】:您的路径集中可能有double quotes,因为Path.InvalidPathChars
包含双引号。
这将使您的异常与您的 Unicode 字符无关...
刚刚看到您对问题的编辑:VB,没有引号。
那么您的第二个字符串中是否复制了一个不可打印的字符,看起来像一个空格,就在您的“QQQ”字符串之前?
如果"Amabel BenderQQQ"
或"AmabelBenderQQQ"
工作也试试(只是为了测试它是否与'QQQ' 字符或空间有关)
【讨论】:
【参考方案3】:如果您使用的是 C#,那么我确定您需要转义反斜杠
Path.Combine("C:\\PDM\\Silver","Amabel Bender QQQ")
如果您使用的是 VB,则不适用...
【讨论】:
以上是关于System.ArgumentException 路径中的非法字符的主要内容,如果未能解决你的问题,请参考以下文章
System.ArgumentException: 无法找到字体“?”。
CreateSQLQuery(string) 抛出 System.ArgumentException
HttpClient 抛出 System.ArgumentException:'windows-1251' 不是受支持的编码名称
System.ArgumentException 路径中的非法字符
尝试使用 DataGridViewComboBox 和 ValueMember 时出现 System.ArgumentException