大文本文件查看器如何工作?如何构建一个大型文本阅读器

das*_*uki 2 c++ python qt multithreading pyqt

大文本文件查看器如何工作

我假设:

  • 线程用于处理文件
  • TextBox逐行更新
  • 使用有效的内存处理

这些假设是否正确?如果有人要发展自己,有什么必须做的不应该做什么?

我希望使用DataGrid而不是TextBox来实现一个

我对C++和python很满意.我可能会使用QT/PyQT

编辑

我的文件通常在1.5到2 GB之间.我正在寻找编辑和查看这些文件

ext*_*eon 6

我相信诀窍不是将整个文件加载到内存中,而是使用seek等来加载被查看的部分(可能使用前后块来处理一些滚动).也许甚至使用内存映射缓冲区,虽然我没有经验.

要意识到修改大文件(快速)与查看它不同.您可能需要将编辑周围的千兆字节数据复制到新文件中,这可能很慢.