簡體   English   中英

文件流 - 文件名、目錄名或卷 label 語法不正確

[英]Filestream - The filename, directory name, or volume label syntax is incorrect

我有這個 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:\\do.net\\solution\\projectname\\C:\\Data\\123.jpg' 為什么它會進入項目路徑?

這是一個棘手的問題,但又如此簡單。

上面的代碼是正確的,它或多或少像微軟文檔中的示例。

但是有一個看不見的Unicode字符E280AA

U+202A e2 80 aa 從左到右嵌入

就在字母“C”之前。

因此這不起作用:

string filePath = @"‪C:\Data\123.jpg";

但是這個確實:

string filePath = @"C:\Data\123.jpg";

第一個(只是實際的字符串)十六進制代碼如下所示:

22 E280AA 433A5C446174615C3132332E6A706722

第二個沒有粗體序列。 您可以在調試器中或在 Notepad++ 等工具的幫助下看到這一點,您可以在其中使用 Extensions/Converter/ASCII->HEX 查看十六進制代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM