4

我正在尝试ASP.NET 4.5 with c#使用以下代码写入文本文件:

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"./Experiment/main.txt", true))
{
file.WriteLine(DateTime.UtcNow.ToString() + " test");
}

我得到了这个例外:

"Could not find a part of the path 'C:\Windows\SysWOW64\inetsrv\Experiment\main.txt'."

该文件夹Experiment是我的 Web 应用程序的文件夹。

4

2 回答 2

8

您需要提供物理路径而不是相对路径,用于Server.MapPath("~")获取站点的根路径,然后将文件路径附加到它。您可以在这篇文章中了解有关 Server.MapPath 的更多信息。

using (System.IO.StreamWriter file = new System.IO.StreamWriter(Server.MapPath(@"~/Experiment/main.txt"), true))
{
     file.WriteLine(DateTime.UtcNow.ToString() + " test");
}
于 2013-11-14T12:37:45.413 回答
0

试试这个代码

using (System.IO.StreamWriter file = new System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory+"Experiment/main.txt", true))
{
         DirectoryInfo dirInfo = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory+"Experiment/main.txt");
            if (!dirInfo.Exists)
            {
                dirInfo.Create();
            }
     file.WriteLine(DateTime.UtcNow.ToString() + " test");
}
于 2013-11-14T13:08:30.600 回答