我有一个引擎类,负责用我的Player
类播放流字节并将字节写入我的StreamWriter
类的文件。
我可以拥有不止一个引擎和不止一个玩家/作家。
一切正常,直到我需要关闭文件。当我说关闭时,我的意思是添加波头并进行一些操作,然后我处理写入器并打开一个新写入器来写入字节。
我的问题是,当文件很小时它可以,但是当文件较大(几 Mb)时,在我关闭文件之前写入器为空。我怎样才能避免这种情况?
一些代码:
Engine
类
AddBytesAndSave(byte,[] stream)
{
writer.AddAndSave(stream);
// here i think i must wait untill the operation complete
writer.Dispose;
writer = null;
}
Writer
班级
AddAndSave(byte[] stream)
{
writrToFileWorker.RunWorkerAsync(stream);
}