我正在使用XmlReader读取非常大的 XML 文件(超过 6GB 的数据)来加速一切并且工作得非常好。
我正在另一个线程中执行此操作(而不是使用 Background Worker)并且我无法弄清楚如何更新进度条,因为 XmlReader 没有某种“当前位置,消耗的字节数”或类似的东西谁能帮我创建一个关于进度的平均计算。
我尝试使用 XmlReader 和 StreamReader 来计算每一行的字节数,然后根据消耗的字节数/文件长度 * 100更新进度条,但是程序在某些时候给了我一个错误,例如
名称不能以“<”字符开头,十六进制值 0x3C。第 109 行,位置 27。
使用 StreamReader 时Encoding.UTF8.GetByteCount(ReadLine())
。
实现这一目标的好方法是什么?我在谷歌上搜索并找到了一些方法来实现这一点,但没有使用 XmlReader,我不能不使用 XmlReader。
相关分类