我正在尝试读取/写入位于我网站根目录的文本文件。我正在使用asp.net开发服务器(我的本地机器)。
当我读取文件时,它会抛出此异常
Access to the path 'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\error.txt' is denied.
我正在使用以下代码行来读取/写入文本文件
var text = File.ReadAllText(Server.MapPath("error.txt"));
File.WriteAllText(@"error.txt", text + " \n " + "newnewnew text");
有什么问题,为什么我的server.MapPath检索我的c盘的路径?当它应该检索我的网站的绝对路径时,即
website1/error.txt
答案 0 :(得分:1)
如果您更改以下行
File.ReadAllText(Server.MapPath("error.txt"));
到
File.ReadAllText(Server.MapPath("~/error.txt"));
它将搜索应用程序根目录中的文件。如果您将文件存储在名为" MyFiles"的文件夹中。在根目录内,然后路径将如下所示
File.ReadAllText(Server.MapPath("~/MyFiles/error.txt"));
希望这有帮助。