所以我在 XmlReader
中使用 FileStream
using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open), readerSettings))
{
reader.close()
}
但是,XmlReader
中的文件在 using
作用域后仍然处于锁定状态,很奇怪,我认为 XmlReader
是要为我关闭 FileStream
,是吗?
感谢您的帮助。
最佳答案
您应该能够通过 XmlReaderSettings.CloseInput 控制它。
readerSettings.CloseInput = true;
using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open), readerSettings))
{
// do work with the reader
}
或者,如果您不关心其他阅读器设置,则更简洁:
using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open), new XmlReaderSettings() { CloseInput = true }))
{
// do work with the reader
}
关于c# - 为什么 FileStream 没有被 XmlReader 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9844978/