示例
Program.cs
using System.Security.Cryptography.X509Certificates;
namespace FileIOExample
{
internal class Program
{
static async Task Main(string[] args)
{
string fileName = @"F:/FileIO.txt";
FileWriter fileWriter = new FileWriter();
FileReader fileReader = new FileReader();
//Write data to a file asynchronously
Task writerTask = fileWriter.WriteFileAsync(fileName, "江雪\t唐·柳宗元\t千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。");
await writerTask;
Console.WriteLine("File written.");
//Read data from the file asynchronously
Task<string> readerTask = fileReader.ReadFileAsync(fileName);
await readerTask;
Console.WriteLine("File read.");
Console.WriteLine($"\nFile content: {readerTask.Result}");
GC.Collect();
Console.ReadKey();
}
}
class FileWriter
{
public async Task WriteFileAsync(string fileName, string data)
{
StreamWriter writer = new StreamWriter(fileName);
Task writerTask = writer.WriteAsync(data);
await writerTask;
writer.Close();
}
}
class FileReader
{
public async Task<string> ReadFileAsync(string fileName)
{
StreamReader reader = new StreamReader(fileName);
Task<string> readerTask = reader.ReadToEndAsync();
//reader.Close();
return await readerTask;
}
}
}