在 C# 中同时读取和写入文件
处理文件时,经常会遇到需要同时读取和写入的情况一个文件。但是,以下代码片段尝试执行此操作但失败了:
static void Main(string[] args) { StreamReader sr = new StreamReader(@"C:\words.txt"); StreamWriter sw = new StreamWriter(@"C:\words.txt"); }
此代码将失败,因为它使用单独的流进行读取和写入,如果没有显式指定两个流,则同一文件不允许这样做操作和管理锁。
要同时读取和写入文件,您需要使用对读取和写入都开放的单个流。这可以使用 FileStream 类来实现:
FileStream fileStream = new FileStream( @"c:\words.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
FileMode.OpenOrCreate 参数指定如果文件不存在,则应打开或创建该文件。
FileAccess.ReadWrite 参数指定文件应该以读写方式打开。
FileShare.None 参数指定不允许其他进程读取或写入该文件
创建 FileStream 后,您可以分别使用 Read() 和 Write() 方法使用它来读取和写入文件。
以上是如何在 C# 中同时读取和写入文件?的详细内容。更多信息请关注PHP中文网其他相关文章!