在路径上共享违规

时间:2019-08-27 02:47:15

标签: c# unity3d

我正在尝试将一些字符串写入文件,这是代码:

private static void WriteSelfDefinedFile(string msg)
    {
        ArrayList logTypes = SelfDefinedLogRule(msg);
        // New some StreamWriter here
        StreamWriter[] sws = new StreamWriter[selfDefinedLogFileName.Length];
        for(int i = 0;i<selfDefinedLogFileName.Length;i++)
        {
            sws[i] = new StreamWriter(selfDefinedLogDir + selfDefinedLogFileName[i], true);
            Debug.Log("111");

        }

        // It is writting here, not important for this question,I think.
        foreach(SelfDefinedLogType temp in logTypes)
        {
            int index = (int)temp;
            foreach (SelfDefinedLogType n in Enum.GetValues(typeof(SelfDefinedLogType)))
            {
                if(temp == n && sws[index]!=null)
                {
                    sws[index].WriteLine(System.DateTime.Now.ToString() + ":\t"+ msg);
                    break;
                }
                else if(sws[index] == null)
                {
                    LogError("File " + selfDefinedLogFileName[index] + " open fail");
                }
            }          
        }
        // Close the StreamWrite[] here
        for(int i=0;i<selfDefinedLogFileName.Length;i++)
        {
            sws[i].Close();
            Debug.Log("222");
        }

    }

当客户端向服务器发送消息或服务器向客户端回复某些消息时,将调用此功能以将一些消息写入某些文件。 并且有时会在路径D:\ SelfDefinedLogs \ SentAndReceiveMsg.txt上引发IOException:Sharing冲突。我的意思是,我每次写作都不会发生。 我在功能结束时关闭了所有打开的streamWriter,但问题仍然存在。我真的很困惑。如果有人能对此问题提供一些解决方案,我将不胜感激。

0 个答案:

没有答案