错误:“在写入日志信息时,进程无法访问文件,因为它正由另一个进程使用”

时间:2014-04-17 13:59:20

标签: c#-4.0

这是我的代码。你能不能告诉我我提到的错误的原因。使用语句通常会在对象超出范围后处置它,但我收到错误。

    public static void WriteLogFile(string message)
    {
        Console.WriteLine(message);

        if (File.Exists("C:\\log.txt"))
        {
            using (StreamWriter SWriter = File.AppendText("C:\\log.txt"))
            {
                SWriter.WriteLine(message);
            }
        }
        else
        {
            using (StreamWriter SWriter = File.CreateText("C:\\log.txt"))
            {

                SWriter.WriteLine(message);
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您的代码中的其他位置未使用此文件,则可以尝试使用以下代码

    public static void WriteLogFile(string message)
    {
        StreamWriter writer = null;
        try
        {
            Console.WriteLine(message);
            writer = new StreamWriter("C:\\log.txt", true);
            writer.Write(message);
            writer.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
        finally
        {
            if (writer != null)
            { writer.Dispose(); }
        }
    }

希望这能解决您的问题。