System.IO.FileStream files = new System.IO.FileStream(ofdFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);
共享锁flieShare方式为ReadWrite
则不会出现该文件正由另一进程使用
//输入日志 string filePath = DateTime.Now.ToString("yyyyMMddHH") + ".log"; using (System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Append, System.IO.FileAccess.Write, System.IO.FileShare.ReadWrite)) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs)) { sw.WriteLine("测试"); } }
//单纯直接访问文件,并发访问时会异常:提示正由另一进程使用,因此该进程无法访问该文件 using (System.IO.StreamWriter sw = new System.IO.StreamWriter(DateTime.Now.ToString("yyyyMMddHH") + ".log", true)) { sw.WriteLine(System.Text.Encoding.UTF8.GetString(e.RecvBuf) + ++i); }