我正在尝试使用以下代码使用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
是我的网络应用程序的文件夹。
答案 0 :(得分:8)
您需要提供物理路径而不是相对路径,使用Server.MapPath("~")
获取站点的根路径,然后将文件路径附加到其中。您可以在此post中了解有关Server.MapPath的更多信息。
using (System.IO.StreamWriter file = new System.IO.StreamWriter(Server.MapPath(@"~/Experiment/main.txt"), true))
{
file.WriteLine(DateTime.UtcNow.ToString() + " test");
}
答案 1 :(得分: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");
}