有同时写入和读取的 BinaryReader 和 BinaryWriter。有一个进度条。当在运行时关闭应用程序时,我在 progressBar 中得到一个异常,并使用我对 BinaryReader、BinaryWriter 和 FileStream 执行 Close() 和 Dispose() 的委托,它在 BinaryReader 中使用。但是,由于某种原因,该文件未被释放。
streamRead - 文件流;阅读器 - BinaryReader;
using (streamRead = new FileStream(filePath, FileMode.Open))
{
reader = new BinaryReader(streamRead);
作家 - BinaryWriter
using (writer = new BinaryWriter(File.Open(this.txbxArchivePath.Text + @"\" + this.txbxArchiveName.Text + ".Haffman", FileMode.Create, FileAccess.ReadWrite, FileShare.Read))){ }
我使用委托调用的方法:
private void DisposeAll()
{
this.reader.Close();
this.writer.Close();
streamRead.Close();
this.reader.Dispose();
this.writer.Dispose();
streamRead.Dispose();
this.Dispose();
}
他们在 MSDN 上写道:
当然,这意味着方法的执行
Close() & Dispose()
可能无法正确执行。试试这个例子:
结果,我们发现我们正在一次读取一个 MB 的文件,如果在读取期间标志已更改为
true
,那么我们中断读取周期并正确关闭FileStream