首页 >后端开发 >C++ >如何在C#中同时读取和写入文件?

如何在C#中同时读取和写入文件?

Barbara Streisand
Barbara Streisand原创
2025-01-06 07:05:44378浏览

How to Simultaneously Read and Write to a File in C#?

如何在 C# 中读取和写入文件

在 C# 中处理文件时,您经常需要读取和写入给他们。然而,简单地为同一个文件创建 StreamReader 和 StreamWriter 是行不通的,因为文件将以只读模式打开。

要同时读取和写入文件,您需要使用单个流这对这两项操作都是开放的。这可以使用 FileStream 类来实现。

FileStream fileStream = new FileStream(
    @"c:\words.txt", FileMode.OpenOrCreate, 
    FileAccess.ReadWrite, FileShare.None);

FileStream 构造函数采用以下参数:

  • 文件的路径。
  • FileMode,指定是否应创建、打开或附加文件。
  • FileAccess,指定文件是否可以读取来自、写入或两者。
  • FileShare,指定如何与其他进程共享文件。

在本例中,我们以 OpenOrCreate 模式打开文件,这意味着如果该文件尚不存在,则将创建该文件。我们还使用 ReadWrite 访问权限打开该文件,这意味着我们可以读取和写入该文件。最后,我们指定该文件不应与其他进程共享。

创建 FileStream 后,您可以分别使用 Read 和 Write 方法来读取和写入文件。

示例

以下示例演示如何使用FileStream:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // Open the file in read/write mode.
        FileStream fileStream = new FileStream(
            @"c:\words.txt", FileMode.OpenOrCreate, 
            FileAccess.ReadWrite, FileShare.None);

        // Read the file.
        StreamReader reader = new StreamReader(fileStream);
        string line = reader.ReadLine();
        while (line != null)
        {
            Console.WriteLine(line);
            line = reader.ReadLine();
        }

        // Write to the file.
        StreamWriter writer = new StreamWriter(fileStream);
        writer.WriteLine("This is a test.");

        // Close the file.
        fileStream.Close();
    }
}

此示例将以读/写模式打开文件“words.txt”。然后它将读取该文件并将其内容打印到控制台。最后,它将写入字符串“This is a test”。到文件。

以上是如何在C#中同时读取和写入文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn