c#.dat文件赋值给变量

时间:2013-05-21 08:34:44

标签: c# file

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

var file = App_Data/file.dat

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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);

答案 1 :(得分:0)

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

最简单的是:

string fileContent = File.ReadAllText(fileNameAndPath);

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

答案 2 :(得分: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; }
    }