尝试创建文本文件时出现参数Null异常错误

本文关键字:参数 Null 异常 错误 创建 文本 文件 | 更新日期: 2023-09-27 18:22:05

问题:我正试图从web服务(本地主机)创建一个文本文件,但在创建时,它会得到路径位置的null参数错误。现在我仍在使用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);
}

尝试创建文本文件时出现参数Null异常错误

使用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用户是否有权在该文件夹上写入(向应用程序池用户添加权限)

如果你试图在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));
            }
        }

您确定CurrentDirectory值正确吗?如果你想访问当前的Web服务根目录,可以像AppDomain.CurrentDomain.BaseDirectory.一样使用