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 に答える