File.ReadAllText抛出DirectoryNotFoundException

时间:2018-08-24 13:46:33

标签: c#

我有一个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项目运行此代码。我不明白为什么我会得到这个例外。

1 个答案:

答案 0 :(得分:0)

\Status\new.txt将尝试从磁盘根目录将new.txt加载到status目录中。根据您的描述,这不是文件所在的位置。

如果文件与可执行文件位于同一文件夹中,则只需要new.txt,如果文件位于可执行文件所在的子目录中,则.\status\new.txt应该可以工作。