尝试创建文本文件时参数Null Exception错误

时间:2014-09-15 14:22:22

标签: c# asp.net file

问题: 我试图从Web服务(本地主机)创建一个文本文件,但在创建时它获取路径位置的空参数错误。现在我仍在使用2012,并且在我看来,我给出的代码将返回路径名,但只返回null。

目的:

  • 如果一个文件不存在,请创建一个新文件。
  • 获取文件的路径以供将来使用。

问题: 用于创建文本文件的visual studio 2012 C#方法有哪些?我发现了很多资源,但代码似乎并没有与2012年合作。

我的代码:

//Create a file name for the  path
string path = System.IO.Path.Combine(CurrentDirectory, "textFile.txt");

//Check if it exist, if not then create the File
//This is the recommended code by Microsoft
if (!System.IO.File.Exists(path))
{
    System.IO.File.Create(path);
}

3 个答案:

答案 0 :(得分:0)

如果你想在txt文件上写一些东西,这些代码就可以了。如果文件不存在,则无需创建文件。如果文件不存在,这些代码将自动创建一个文件。

public static void LogMessage(string sFilePath, string sMsg)
        {
            using (StreamWriter sw = File.AppendText(sFilePath))
            {
                sw.WriteLine(string.Format(@"{0} : {1}", DateTime.Now.ToLongTimeString(), sMsg));
            }
        }

答案 1 :(得分:0)

你确定CurrentDirectory值是对的吗? 如果要访问当前的Web Service root目录,可以使用AppDomain.CurrentDomain.BaseDirectory。

答案 2 :(得分:0)

使用Server.Map路径获取文件路径

string FolderPath = Server.MapPath("~/App_Data");
string file = Path.Combine(FolderPath, "textFile.txt");

//Check if it exist, if not then create the File
//This is the recommended code by Microsoft
if (!System.IO.File.Exists(file))
{
    System.IO.File.Create(file);
}

同时检查IIS用户是否有权在该文件夹上写入(向应用程序池用户添加权限)