我们有一个应用程序将其处理步骤记录到文本文件中。这些文件在实施和测试期间用于分析问题。每个文件的大小最大为 10MB,最多包含 100,000 行文本。
目前,对这些日志的分析是通过打开文本查看器(Notepad++ 等)并根据问题查找特定字符串和数据来完成的。
我正在构建一个有助于分析的应用程序。它将允许用户读取文件、搜索、突出显示特定字符串以及与隔离相关文本相关的其他特定操作。
文件不会被编辑!
在尝试一些概念时,我立即发现 TextBox(或 RichTextBox)不能很好地处理大文本的显示。我设法使用 DataGridView 实现一个具有可接受性能的查看器,但该控件不支持特定字符串的颜色突出显示。
我现在正在考虑将整个文本文件作为字符串保存在内存中,并且只在 RichTextBox 中显示非常有限数量的记录。为了滚动和导航,我想到添加一个独立的滚动条。
我使用这种方法遇到的一个问题是如何从存储的字符串中获取特定行。
如果有人有任何想法,可以突出我的方法的问题,然后谢谢。
我建议将整个内容加载到内存中,但作为字符串的集合而不是单个字符串。这很容易做到:
string[] lines = File.ReadAllLines("file.txt");
然后您可以使用 LINQ 搜索匹配的行,轻松显示它们等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)