【发布时间】:2010-05-24 11:08:46
【问题描述】:
我想做一个简单的文本文件查看器,我希望它能够处理大文件(可能比计算机的内存还大)。
我知道我需要实现像滑动缓冲区这样的东西,它将包含文件的当前可见部分。主要问题是确定行和文件偏移之间的关系。如果我只需要能够按行导航,我只需要一个行的链接列表,然后在上/下一行只需从文件中读取新行。但是当我也想去,比如文件的 50% 时,我应该怎么做?我需要显示从文件的一半开始的行,所以如果文件长 10000 字节,我会寻找字节 5000,查找换行符并从那里显示内容。问题是,我不知道我在寻找这样的路线时处于什么位置。
所以我想知道什么是合适的数据结构,可以将这几行(将在屏幕上绘制的行)保存在内存中。
请记住,我不需要编辑文件,只需查看它们,因此我不需要关心所选编辑方法的效率。
【问题讨论】:
标签: c# winforms file text buffer