0

如何将 a 分配给位于同一项目中的变量,例如在我的项目中,我创建了一个名为 App_Data 的文件夹,例如文件是 file.dat ,我如何将文件分配给变量,..例如:

var file = App_Data/file.dat

我需要将它分配给一个变量,因为我将使用该变量作为方法的参数,..它曾经是:

var file= HttpContext.Current.Request.MapPath("/App_Data/file.dat");

但现在我希望路径在同一个项目中

如果它应该是绝对路径,它也应该没问题

4

3 回答 3

3

应该为您提供磁盘上文件的MapPath绝对位置,从相对 url 到您网站的根目录:

var absoluteFileLocation = HostingEnvironment.MapPath("~/App_Data/file.dat");

这应该返回类似:

c:\inetpub\wwwroot\MyWebSite\App_Data\file.dat

更新:

看起来您正在尝试检索文件的内容,而不是位置。这是如何做到的:

var absoluteFileLocation = HostingEnvironment.MapPath("~/App_Data/file.dat");
string fileContents = System.IO.File.ReadAllText(absoluteFileLocation);
于 2013-05-21T08:39:27.463 回答
0

您需要使用一种可用的方法(Streams、Readers 等)来读取文件。

最简单的是:

string fileContent = File.ReadAllText(fileNameAndPath);

其中变量fileNameAndPath包含文件的完整路径和文件名,如 Darin Dimitrov 所述。

于 2013-05-21T08:50:45.793 回答
0

无论如何,您的意图并不完全清楚:

如果您想要文件统计信息:

System.IO.File file = new System.IO.File("~/App_Data/file.dat");

如果您希望文件内容使用:

    public static string readFileContent(String filename)
    {
        try
        {
            using (System.IO.StreamReader sr = new System.IO.StreamReader(filename))
                return sr.ReadToEnd();
        }
        catch { return String.Empty; }
    }
于 2013-05-21T08:52:15.463 回答