C# 实现IDisposable接口
IDisposable接口
IDisposable接口用于回收清理,实现其Dispose方法,可在代码中随时调用执行清理工作。其次可用于using语句块,当语句块完成后会自动调用Dispose方法;
class Program
{
static void Main(string[] args)
{
using(TextWriter wt = new TextWriter())
{
wt.WriteText("编程真快乐。");
}
//Console.Read();
}
}
class TextWriter : IDisposable
{
// 文件名
const string FILE_NAME = "demo.txt";
// 文件流
FileStream fsWriter = null;
public TextWriter()
{
// 打开 / 创建文件
fsWriter = File.OpenWrite(FILE_NAME);
}
public void WriteText(string str)
{
// 获取文本的字节数组
byte[] data = Encoding.UTF8.GetBytes(str);
// 将字节数组写入文件流
fsWriter.Write(data, 0, data.Length);
// 将缓冲的数据写入文件
fsWriter.Flush();
}
public void Dispose()
{
// 关闭文件流
fsWriter?.Close();
// 释放资源
fsWriter?.Dispose();
}
}
本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/18210646