日期:2014-05-18  浏览次数:20767 次

请问不同线程可否打开一个文件?
我用一个线程写文件,一个线程读文件,是否可行?

现在我在一个线程里面写:
FileStream   fsWrite   =   new   FileStream(filePath,   FileMode.Create,   FileAccess.Write);
BinaryWriter   fileWriter   =   new   BinaryWriter(fsWrite);
……
fileWriter.Write(readBuffer,   0,   readBuffer.Length);
……

在另一个线程里面写
FileStream   fs   =   new   FileStream(filePath,   FileMode.Open,   FileAccess.Read);
BinaryReader   fileReader   =   new   BinaryReader(fs);
……
fileReader.Read(readBuffer,   0,   bufferLength);
……

运行后提示:

未处理的“System.IO.IOException”类型的异常出现在   mscorlib.dll   中。

其他信息:   文件“D:\0708220130215540.dxc”正由另一进程使用,因此该进程无法访问该文件。

------解决方案--------------------
FileShare.ReadWrite