0
我创建一个临时文件与DeleteOnClose
选项:的FileStream禁用关闭()
var fileStream = File.Create(Path.GetTempFileName(), 4096, FileOptions.DeleteOnClose);
另一类(我不能修改)将一些数据写入该文件:
someObject.WriteDataToFile(fileStream);
那么我想检索数据以进行进一步处理,关闭流并让文件自动删除。
但someObject.WriteDataToFile(fileStream)
也调用fileStream.Close()
,这将删除该文件,所以我无法检索其内容。
问题:如何保持fileStream
不被代码关闭someObject.WriteDataToFile()
?
为什么不手动删除文件后关闭? –
您不能修改该代码,因此不要使用DeleteOnClose创建该文件 –
您可以在实现'Close'的文件流中编写一个装饰器作为空方法,并执行base.Close()处理方法。 –