我正在尝试使用C#读取txt文件,但出现错误
不支持给定的路径
我在应用程序中做了很多次。但我不知道这是什么问题。这是我的代码:
var filePath = @"E:\P1.txt";
string[] lines = System.IO.File.ReadAllLines(filePath);
不支持路径 引发异常。有什么问题吗?
答案 0 :(得分:7)
让我们看看(打印string
dump ):
var filePath = @"E:\P1.txt";
Console.Write(string.Join(Environment.NewLine,
filePath.Select(c => $"'{c}' : 0x{(int)c:x4}")));
结果:
'' : 0x202a <- LEFT-TO-RIGHT EMBEDDING
'E' : 0x0045
':' : 0x003a
'\' : 0x005c
'P' : 0x0050
'1' : 0x0031
'.' : 0x002e
't' : 0x0074
'x' : 0x0078
't' : 0x0074
您能在字符串的开头看到不可见的0x202a
(从左向右嵌入)符号吗?
https://www.fileformat.info/info/unicode/char/202a/index.htm
此符号使路径变为无效。
答案 1 :(得分:6)
如下所示,您的文件路径包含不可显示的Left-to-Right Embedding(LRE)Unicode字符。
"\u202AE:\P1.txt"
如果仅删除该行并再次写入路径,则很可能会解决您的问题。