如何解决Filestream-文件名,目录名称或卷标签语法不正确
我有应该打开文件的C#代码。
string filePath = @"C:\Data\123.jpg";
FileStream fs = System.IO.File.OpenRead(filePath);
但是,它在第二行中断并显示错误消息The filename,directory name,or volume label syntax is incorrect
异常详细信息还显示C:\\dotnet\\solution\\projectname\\C:\\Data\\123.jpg'
。为什么要进入项目路径?
解决方法
现在这是一个棘手的事情,但是很简单。
上面的代码是正确的,或多或少类似于Microsoft文档中的示例。
但是有一个看不见的Unicode字符E280AA
U + 202A e2 80aa从左向右嵌入
在字母“ C”之前。
因此这不起作用:
string filePath = @"C:\Data\123.jpg";
但是这个确实做到了:
string filePath = @"C:\Data\123.jpg";
第一个(只是实际的字符串)十六进制代码如下:
22 E280AA 433A5C446174615C3132332E6A706722
第二个没有大胆的顺序。 您可以在调试器中或借助诸如 Notepad ++,您可以在其中使用Extensions / Converter / ASCII-> HEX来查看十六进制代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。