我正在开发一个工具,该工具包含一个文本文件,由多行数据组成,解析它并在 Windows 窗体表 (ListView) 中显示数据。该工具的功能之一是能够根据用户输入过滤特定列。处理大小合理的文件时,没有问题。但是,我需要处理 500MB 甚至 1GB 的文件(解析了数百万条文本行)。我的一般问题是 - 最好的方法是什么?
一些更具体的问题: 1. 最初,我应该阅读整个文件并解析它,还是应该分块阅读并仅在需要时(当用户向下滚动时)阅读更多内容?2. 如果我不读取整个文件,如何实现过滤功能?当我过滤时,我实际上是在搜索某个词,所以我不能不阅读整个文件。3、过滤器应该如何实现?有没有一种聪明的方法可以做到这一点,但清除显示并遍历每一行以检查过滤条件?4. 解析后的数据应该如何处理?将其保存在单独的数据结构中?还是只把它放在显示器上?
谢谢。