Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在创建FileInfo-意外行为_C#_Io_Fileinfo - Fatal编程技术网

C# 正在创建FileInfo-意外行为

C# 正在创建FileInfo-意外行为,c#,io,fileinfo,C#,Io,Fileinfo,我正试图创建一个带有FileInfo对象的文件,我发现了一些奇怪的行为 以下是我所做工作的要点- public void CreateLog() { FileInfo LogFile = new FileInfo(""); if (!LogFile.Directory.Exists) { LogFile.Directory.Create(); } if (!LogFile.Exists) { LogFile.Create(); }

我正试图创建一个带有FileInfo对象的文件,我发现了一些奇怪的行为

以下是我所做工作的要点-

    public void CreateLog()
    {
        FileInfo LogFile = new FileInfo("");

        if (!LogFile.Directory.Exists) { LogFile.Directory.Create(); }
        if (!LogFile.Exists) { LogFile.Create(); }

        if (LogFile.Length == 0)
        {
            using (StreamWriter Writer = LogFile.AppendText())
            {
                Writer.WriteLine("Quotes for " + Instrument.InstrumentID);
                Writer.WriteLine("Time,Bid Size,Bid Price,Ask Price,Ask Size");
            }
        }
    }
但是,当它检查日志文件的长度时,它会说该文件不存在(我检查了-它确实存在)

当我用以下内容替换LogFile.Length时:

    File.ReadAllLines(LogFile.FullName).Length;
然后我得到一个异常,它说它无法访问该文件,因为其他东西已经在访问它了

但是,如果我在读所有行之前先做一个Thread.Sleep(500),那么它似乎工作得很好

我遗漏了什么?

LogFile.Create()如果您使用此函数,您可以锁定文件,这样您就可以像这样使用了
使用(LogFile.Create()){}

之后,您可以再次使用该文件