簡體   English   中英

讀取大文件的最佳方法

[英]Best approach to reading large files

我當前正在開發一個程序,該程序會讀取並寫入XML文件。 盡管這是一項簡單的任務,但我擔心將來的問題。

我的代碼從XML讀取流數據,並檢查每個元素<x>直到找到一個符合條件的元素為止,此方法的運行速度非常快,因為該文件當前具有大約100個<x>元素,但是當添加了更多元素時這項任務將非常慢,特別是如果與標准匹配的元素是每個大文件中的最后一個元素。

我應該采取什么方法來最大程度地減少這種影響? 我當時正在考慮將文件拆分為較小的文件(每個文件最多包含1000個元素),並同時讀取其中的各種文件。 這是正確的方法嗎?

我正在用C#進行編碼,以防它與特定於語言的方法有關。

您應該使用.Net的可用XML API之一。 哪一個取決於XML文件的大小。 這個問題中 ,在XDocument (Linq-to-Xml)和XmlReader之間進行了討論。 總結一下:如果文件適合內存,請使用XDocument 如果沒有,請使用XmlReader

在您的情況下,這聽起來像一個批處理過程。 也許此鏈接: https : //www.codeproject.com/Articles/1155341/Batch-Processing-Patterns-with-Taskling將為您提供幫助。 我從來沒有在C#中這樣做,但是在Java中,這是解決此類任務的好方法。 希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM