虚拟大数据从日志文件中读入一个ListView(virtual large data reading

2019-09-23 17:27发布

我一直在做关于如何阅读大量日志文件,〜500mbs并使用C#把它解析为一个GUI一些研究。 我是相当新的使用虚拟模式的ListView ...

我已经决定使用虚拟模式一个ListBox(希望这可以处理大约1mil的日志消息)。 但我有阅读日志文件的进线列表框的问题。

我不想读整个文件,因为它会引起程序崩溃,所以在foreach语句中使用即时通讯File.ReadLines。

我想我有麻烦处理RetrieveVirtualItem处理程序读取我的文件,并得到一个新的行,并填充它

    private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
    {
          ListViewItem lvi = new ListViewItem();
        lvi.Text = addList(); // need to read a new row
        ListViewItem.ListViewSubItem lvsi = new ListViewItem.ListViewSubItem();
        lvsi.Text = e.ItemIndex.ToString("n");
        lvi.SubItems.Add(lvsi);
        e.Item = lvi;
    }

我如何读取文件的每一行,并将其与ListView的虚拟检索方法联系起来?

我最终想添加的搜索,所以它仅显示在它击中匹配行。

我也不能确定如何编辑listView1.VirtualListSize - 如何使这个变量等于匹配的金额是多少? 我想是因为它需要一个值作为我加载的形式。

文章来源: virtual large data reading from log file into a ListView