1G的txt前所未有= = 开眼了。
可以试试文件内存映射。。。。
要频繁对该文件进行读写,主要进行的是删除文件内容的操作。 删除文件我只知道读取到内存中,然后重写,但对1G这样的大文件,这样操作效率就太低了 各位有啥好方法没,100分送上
只能用数据库作为工作时临时文件。 0 启动程序时读取并分析文本文件,生成中间数据库,主要是按一定策略将文本文件分块(例如每512字节1块或每个标点处1块或碰到回车换行就算1块)并建立索引,以便快速定位什么内容在磁盘上什么位置。这个过程1G的文件耗时2-5秒。 1 写的话就按块写到数据库中并进行索引。 2 读的时候先通过索引判断该文本是否在数据库中,以便决定从数据库中或源文件中读取。 3 关闭程序时整合数据库和源文件内容生成一个新文本文件。这个过程1G的文件耗时3-10秒。 4 删除源文件和中间数据库。 5 备注:数据块写到数据库中,但块索引需要用链表保存,使得插入和删除块特别方便。
69,371
社区成员
243,082
社区内容
加载中
试试用AI创作助手写篇文章吧