ReadAllText方法将文件路径附加到应用程序路径
本文关键字:路径 应用程序 ReadAllText 文件 方法 | 更新日期: 2023-09-27 18:26:18
我正在使用ReadAllText方法将文件内容读取到字符串中,但我一直得到一个找不到的异常文件。发生这种情况的原因是,出于某种原因,ReadAllText将文件路径附加到应用程序路径并试图找到它:
附加信息:找不到路径"c:''Projects''MyApp1''MyApp1''bin''Debug''c''Test''MyFile.csv"的一部分。
string FileName ="C:'Test'MyFile.csv";
string allText = File.ReadAllText(fileName, encoding);
如何解决此问题?
文件名中缺少:
,因此它看起来像是File.ReadAllText
方法的相对路径,因此它将其附加到可执行文件所在的路径中。此外,应在字符串中转义'
符号。
只需将其更改为
string FileName =@"C:'Test'MyFile.csv";
您的FileName
已关闭。首先,驱动器名称和正斜杠之间缺少一个冒号;它应该是CCD_ 5。其次,应该正确地转义'
字符,如下所示:C:''Test''...
(或者,使用逐字逐句的字符串,@"C:'Test'..."
)
您有一个拼写错误:C'
应该是C:'
。此外,你需要逃离你的斜杠:
"C:''Test''MyFile.csv"
或者将整个字符串设为文字:
@"C:'Test'MyFile.csv"
在C#中,当您将'
字符括在用引号括起来的字符串中时,您需要对其进行转义。需要转义,因为'
字符被视为在文本字符串中显示特殊字符的一种方式。将代码更改为以下内容:
string FileName ="C''Test''MyFile.csv";
string allText = File.ReadAllText(fileName, encoding);
您还可以使用特殊的@
运算符来指定逐字逐句的字符串文字。这看起来如下:
string FileName =@"C'Test'MyFile.csv";
string allText = File.ReadAllText(fileName, encoding);
最后,您的路径中缺少:
字符。代码实际上应该如下所示:
string FileName = @"C:'Test'MyFile.csv";
string allText = File.ReadAllText(fileName, encoding);
更改代码如下-
string FileName = @"C:'Test'MyFile.csv";