.NET Core 提供了丰富的类和方法来操作文本文件。选择合适的方法取决于具体的应用场景和性能需求。在实际开发中,建议根据项目需求选择最适合的方法,并注意异常处理和性能优化。本文主要介绍.NET Core中,读写(read/write)文件的方法,读写文件内容示例代码。

1、使用File.ReadAllText读取文本文件(.txt)

1) 安装System.IO.FileSystem Nuget包

Package Manager

PM> Install-Package System.IO.FileSystem -Version 4.3.0

.NET CLI

> dotnet add package System.IO.FileSystem --version 4.3.0

2) 读写文件

1) 读文件

using System;
using System.IO;
using System.Text;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        // 此文本只添加到文件一次。
        if (!File.Exists(path))
        {
            // 创建要写入的文件。
            string createText = "Hello and Welcome" + Environment.NewLine;
            File.WriteAllText(path, createText, Encoding.UTF8);
        }
        // 这个文本总是被添加,使得文件随着时间的推移而变长
        // 如果它没有被删除。
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);
        // 打开文件进行读取。
        string readText = File.ReadAllText(path);
        Console.WriteLine(readText);
    }
}

2) 写文件

using System;
using System.IO;
using System.Text;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        // 此文本只添加到文件一次。
        if (!File.Exists(path))
        {
            // 创建要写入的文件。
            string createText = "Hello and Welcome" + Environment.NewLine;
            File.WriteAllText(path, createText);
        }
        // 这个文本总是被添加,使文件随着时间的推移而变长
        // 如果它没有被删除。
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText);
        // 打开文件进行读取。
        string readText = File.ReadAllText(path);
        Console.WriteLine(readText);
    }
}

2、使用FileStream读写文本文件(.txt)

命名空间System.IO.FileStreamSystem.IO.StreamReader

1) 读文件

FileStream fileStream = new FileStream("file.txt", FileMode.Open);
using (StreamReader reader = new StreamReader(fileStream))
{
string line = reader.ReadLine();
}

2) 写文件

using (System.IO.StreamWriter file =
new System.IO.StreamWriter(System.IO.File.Create(filePath).Dispose()))
{
file.WriteLine("your text here");
}

推荐文档