我有一个C#代码块正在尝试打开.txt文件。该文本文件与正在运行的代码块位于同一项目中。目前,我正在尝试使用以下文件打开.txt文件:
var filePath = @"\Status\new.txt";
try
{
var content= File.ReadAllText(filePath);
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Unable to find " + filePath);
}
运行此代码时,我得到一个DirectoryNotFoundException
。控制台显示:
找不到\ Status \ new.txt
我将“ new.txt”文件的“复制到输出目录”属性更改为“如果更新则复制”。我可以在“ bin / Debug / netcoreapp2.1 / Status /”目录中看到“ new.txt”文件。
我当前正在通过MSTest项目运行此代码。我不明白为什么我会得到这个例外。
答案 0 :(得分:0)
\Status\new.txt
将尝试从磁盘根目录将new.txt
加载到status
目录中。根据您的描述,这不是文件所在的位置。
如果文件与可执行文件位于同一文件夹中,则只需要new.txt
,如果文件位于可执行文件所在的子目录中,则.\status\new.txt
应该可以工作。