C#中的DirectoryNotFound异常

时间:2011-03-01 19:53:01

标签: c# .net path

我正在尝试在路径WindowsFormsApplication1\WindowsFormsApplication1\SaveFile保存文件,但是下面的代码返回了一个带有消息的“DirectoryNotFound”异常:

  

无法找到路径的一部分   “d:\ WindowsFormsApplication1 \ WindowsFormsApplication1 \ WindowsFormsApplication1 \ BIN \调试\ SAVEFILE \ Hello.tx

String Path = @".\SaveFile\Hello.txt";
FileInfo info = new FileInfo(Path);
if (!info.Exists)
{
    using (StreamWriter writer = info.CreateText())
    {
        writer.WriteLine("HELLO");
    }
} 

有人可以告诉我如何通过指定完整路径将文件保存在我想要的文件夹中?

3 个答案:

答案 0 :(得分:3)

在调试器中运行时,默认路径位于bin\Debug下。这就是“。”意味着在你的道路上。

要保存哪个文件夹?您需要指定完整路径。也许你想要从配置文件中提取路径。这样,路径就可以根据应用程序的部署位置进行更改。

答案 1 :(得分:1)

由于错误消息告诉您文件将保存在bin / debug下的子目录SaveFile中。在保存文件之前,必须使用Directory.CreateDirectory(“SaveFile”)创建目录。它不会自动创建。

答案 2 :(得分:1)

您需要在创建文本文件之前确保该目录存在。

String Path = @".\SaveFile\Hello.txt";
FileInfo info = new FileInfo(Path);
if (!info.Exists)
{
    if (!info.Directory.Exists)
        info.Directory.Create();

    using (StreamWriter writer = info.CreateText())
    {
        writer.WriteLine("HELLO");
    }
}