出现下面错误“正由另一进程使用,因此该进程无法访问该文件”
代码如下 if (!Directory.Exists(Server.MapPath("~\\Logs")))
        {
            Directory.CreateDirectory(Server.MapPath("~\\Logs"));
        }      
       
        StreamWriter sw = new StreamWriter(Server.MapPath(@"~\Logs\" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Day + ".txt"), true);        sw.WriteLine(System.DateTime.Now.ToString().Trim() + ":" + str);
        sw.Flush();
        sw.Close();
        sw.Dispose();

解决方案 »

  1.   

    说明有进程对这个文件进行操作!!!
    也有可能没有close!!!
      

  2.   

    用这个就不会有错了
    _file = new FileStream(@"c:\a.txt",FileMode.Create,FileAccess.Write);
    StreamWriter _writer = new StreamWriter(_file);
    _writer.WriteLine(看你要写什么);
    _writer.Close();
    _read.Close();
    _file.Close();
      

  3.   

       zzyhuian06142 代码如下,还是出现
    if (!Directory.Exists(Server.MapPath("~\\Logs")))
            {
                Directory.CreateDirectory(Server.MapPath("~\\Logs"));
            }      
           FileStream fs=new FileStream(Server.MapPath(@"~\Logs\" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Day + ".txt"),FileMode.Append);
           StreamWriter sw = new StreamWriter(fs);        sw.WriteLine(System.DateTime.Now.ToString().Trim() + ":" + str);
            sw.Flush();
            sw.Close();
            sw.Dispose();
            fs.Close();
            fs.Dispose();
      

  4.   

     using(StreamWriter sw = new StreamWriter(Server.MapPath(@"~\Logs\" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Day + ".txt"), true)) 
            {
            sw.WriteLine(System.DateTime.Now.ToString().Trim() + ":" + str); 
            sw.Flush(); 
            sw.Close(); 
            sw.Dispose();
            }
      

  5.   

    FileStream fs=new FileStream(Server.MapPath(@"~\Logs\" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Day + ".txt"),FileMode.Open,FileAccess.Write);