Parsing 解析和显示大型文件
我正在开发一个工具,它接受一个文本文件,由许多行数据组成,对其进行解析,并在Windows窗体表(ListView)中显示数据。该工具的功能之一是能够根据用户输入过滤特定列。使用大小合理的文件时,没有问题。但是,我需要处理500MB甚至1GB的文件(解析了数百万条文本行)。我的一般问题是——做这件事的最佳方式是什么 一些更具体的问题: 1.最初,我应该读取整个文件并对其进行解析,还是应该分块读取,并在需要时(当用户向下滚动时)读取更多? 2.如果不读取整个文件,如何实现过滤器功能?当我过滤时,我实际上是在搜索某个术语,所以我无法读取整个文件。 3.过滤器应该如何实现?是否有一种聪明的方法可以做到这一点,但要清除显示器并检查每一行以检查过滤条件? 4.我应该如何处理解析的数据?将其保存在单独的数据结构中?还是只把它放在显示屏上 谢谢。1)我将只读取显示初始页面所需的数据,然后生成一个后台线程来加载剩余的数据,以便在用户想要滚动/筛选时将其保存在内存中 3) 对于过滤,我可能会使用内存中的数据库,它能够比您编写的任何东西更快地处理过滤(没有冒犯!) 4) 如上所述,将其存储在内存数据库中。SqlLite允许您创建内存中的数据库,我相信有很多替代方案Parsing 解析和显示大型文件,parsing,scalability,Parsing,Scalability,我正在开发一个工具,它接受一个文本文件,由许多行数据组成,对其进行解析,并在Windows窗体表(ListView)中显示数据。该工具的功能之一是能够根据用户输入过滤特定列。使用大小合理的文件时,没有问题。但是,我需要处理500MB甚至1GB的文件(解析了数百万条文本行)。我的一般问题是——做这件事的最佳方式是什么 一些更具体的问题: 1.最初,我应该读取整个文件并对其进行解析,还是应该分块读取,并在需要时(当用户向下滚动时)读取更多? 2.如果不读取整个文件,如何实现过滤器功能?当我过滤时,我