发生错误写入文件时

时间:2014-04-24 07:00:14

标签: c# file streamwriter

我正在创建文件。在创建文件后第一次,我立即打开一个文件,但它显示错误:

  

"进程无法访问文件' C:\ ProjectWork \ Websites3 \ LogsArpita \ ErrorLogs \ Error_Log_24_4_2014.txt'因为它正在被另一个进程使用。"

这意味着什么?如何立即打开文件以进行进一步的写入操作。我试过以下代码。

FileName = String.Concat("Error_Log_", DateTimeStamp + ext);

if (!File.Exists(Server.MapPath("~/LogsArpita/ErrorLogs/" + FileName)))
{
    File.Create(Server.MapPath("~/LogsArpita/ErrorLogs/" + FileName));
}

//Error occured here, below line
StreamWriter tw = new StreamWriter(Server.MapPath("~/LogsArpita/ErrorLogs/" +    FileName), true);

tw.WriteLine("");
tw.Write("\"" + DateTimeStampLog + "\",");
tw.Write("\"Assignments.aspx\",");
tw.Write("\"" + ErrorMessage + "\",");
tw.Write("\"" + TransactVariable + "\"");
tw.Close();

1 个答案:

答案 0 :(得分:2)

您不需要File.Create,因为如果文件不存在,StreamWriter构造函数将创建该文件

这是msdn文档所说的:

  

使用默认编码和缓冲区大小为指定文件初始化StreamWriter类的新实例。如果文件存在,则可以覆盖或附加。如果该文件不存在,则此构造函数将创建一个新文件。