我有一个表单应用程序,它执行模拟并不断读取/写入二进制文件。如果你让它通过,一切正常。但是,如果表单被关闭/模拟被中止,则文件流没有被正确关闭 - 文件被锁定。 有没有办法确保所有的流都关闭?我尝试以下 - 但它没有任何效果... 非常感谢提前, 牛逼BinaryReader或Writer.Close()未正确关闭C#
public BinaryWriter BinWrite;
public BinaryReader BinRead;
public BinaryWriter EnvBinWrite;
public BinaryReader EnvBinRead;
public void theForm_FormClosing(object sender, FormClosingEventArgs e)
{
//Close all binary file reader/writers -- crashes if it cannot overwrite files
foreach (Building B in AllBldgs)
{
try
{
EnvBinRead.Close();
}
catch
{ continue; }
try
{
EnvBinWrite.Close();
}
catch
{ continue; }
try
{
BinRead.Close();
}
catch
{ continue; }
try
{
BinWrite.Close();
}
catch
{ continue; }
}
}
是否发生任何异常? – CodeCaster
不是我所知道的.. – timkado
不,因为你把它们都吃掉了。删除try..catch块并查看是否发生。 – CodeCaster