阅读大文件的最佳方法

问题描述 投票:0回答:2

我目前正在开发一个读写XML文件的程序。虽然这是一项简单的任务,但我担心未来的问题。

我的代码从XML中读取流数据,并检查每个元素<x>,直到找到符合条件的元素,这非常快,因为该文件当前有大约100个<x>元素,但是当添加更多元素时,此任务将是更慢,特别是如果符合条件的元素是avery大文件中的最后一个元素。

我应该采取什么方法来尽量减少这种影响?我正在考虑将文件分成较小的文件(每个文件最多包含1000个元素),同时从各种文件中读取文件。这是一个正确的方法吗?

我正在使用C#进行编码,以防它与特定于语言的方法相关。

c# xml io
2个回答
2
投票

您应该使用.Net的可用XML API之一。哪一个取决于XML文件的大小。在this question中,XDocument(Linq-to-Xml)和XmlReader之间进行了讨论。总结一下:如果你的文件适合内存,那么使用XDocument。如果没有,那么使用XmlReader


0
投票

在您的情况下,这听起来像批处理过程。也许这个链接:https://www.codeproject.com/Articles/1155341/Batch-Processing-Patterns-with-Taskling会帮助你。我从未在C#中这样做,但在Java中,这是解决此类任务的好方法。希望它会对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.