如何在C#中同时从同一个文件读写

时间:2012-09-06 10:33:58

标签: c# file filestream streamwriter operation

我想在文件中写入数据并将其读取为同时在C#中显示。 怎么做?

3 个答案:

答案 0 :(得分:4)

var fs = new System.IO.FileStream(fileName, System.IO.FileAccess.ReadWrite);

然后你可以打电话

 long oldPos = fs.Position;
 fs.Write(....);
 fs.Flush();
 fs.Position = oldPos;
 fs.Read(...);

答案 1 :(得分:1)

写完后冲洗,然后再读。

顺便问一下,为什么不从内存中显示它?

答案 2 :(得分:1)

您可以打开FileStream进行读写。例如:

byte[] writeBuffer; // Contains data to write
byte[] readBuffer;  // Large enough space to read data
FileStream fileStream = new FileStream("file.txt", 
    FileMode.OpenOrCreate, FileAccess.ReadAndWrite);
fileStream.Write(writeBuffer, 0, writeBuffer.Length);
fileStream.Seek(0, SeekOrigin.Begin);
fileStream.Read(readBuffer, 0, readBuffer.Length);

您可以使用同一个对象进行读写操作。但是,同时执行这两项操作需要在应用程序中进行仔细协调,以防止操作相互干扰。更好的解决方案可能是对操作进行排队。