社区
Delphi
帖子详情
如何读超大文本文件?
Qcj
2000-04-22 07:08:00
有一特大文本文件,几M之多。如何读出并处理,例如将其中的双引号改单引号?
...全文
319
6
打赏
收藏
如何读超大文本文件?
有一特大文本文件,几M之多。如何读出并处理,例如将其中的双引号改单引号?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haiyang
2000-04-28
打赏
举报
回复
to liuly:是啊,几M算不了什么!!!只不过内存要非常大罢了!!!用此方法时,请耐心等待,文件打开时间是需要很长的!
还是分段读取处理;或者用内存映射文件,不过我没用过,不知道速度怎样。
LittleStar
2000-04-24
打赏
举报
回复
用“内存映射文件”。
LittleStar
2000-04-24
打赏
举报
回复
用“内存映象文件”。
liuly
2000-04-24
打赏
举报
回复
速度要求不很高的话,一个RichEdit就可以搞定啦!
RichEdit1.MaxLength := High(integer) - 1024;
if OpenDialog1.Execute then
RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
理论上讲,RichEdit可以处理2G大小的数据,几M算不了什么
jll
2000-04-23
打赏
举报
回复
用缓冲技术,申请一个Buffer(例如4kb),每次处理Buffer中的数据,处理完后再读入后继的文件内容进行处理……
RIAEasy
2000-04-22
打赏
举报
回复
每次读入一部分,处理;再读入,处理;直到读完。
function TForm1.LoadLargeFile(FileName: string): Boolean;
const B=$8FFF; //每次读入的长度;
var Stream: TStream; I: Integer; S: string;
begin
Stream:=TFileStream.Create(FileName, fmOpenRead);
try
if Stream.Size<=FCount then begin Exit; end;
//FCount是私有量,保存已经读入的长度;
Stream.Position:=FCount;
I:=Stream.Size-FCount;
if I>B then I:=B;
SetLength(S, I);
Stream.ReadBuffer(S[1], I); //此时,已经读入I字节;
Inc(FCount, I);
Memo1.Lines.Clear;
Memo1.Lines.Add(S);
finally
Stream.Free;
end;
end;
零基础Linux命令详细案例讲解课程(第3季)--文本搜索和文本处理
课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令课程特色: 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力笔记标题采用关键字标识法,帮助学员更加容易记住知识点笔记以超链接形式让知识点关联起来,形式知识体系采用先概念后实例再应用方式,知识点深入浅出提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):
C#分段
读
取
超大
文本文件
c#分段
读
取
超大
文本文件
如何使用Python
读
取
超大
文本文件
Python是一种开放源代码的动态类型化和解释型编程语言。
读
取和写入文件是编程的组成部分。在Python中, 使用readlines()方法。 readlines()方法返回一个列表, 其中列表的每个项目都是文件中的完整句子。当文件较小时, 此方法很有用。由于readlines()方法将每行追加到列表中, 然后返回整个列表, 因此如果文件的大小非常大(以GB为单位), 则将非常耗时。同样, 该列表将占用大量内存, 如果没有足够的内存, 则可能导致内存泄漏。
如何
读
取
超大
文本文件
要使用
超大
的
文本文件
进行业务处理,有近10M大小,超过17万行, 1.如何才能
读
取超过17万行的
文本文件
,2.如何把它每2000个分成1个小
文本文件
看来所谓的行,就是记录。数组的上限似乎可以大于17万。可不一定全部
读
入,打开文件后,按记录要求只
读
入游泳的,就简单多了。还可以考虑,使用ado技术,把
文本文件
作为数据库处理。分割文件,在我看来是“得不偿失”的做法。
Qt
超大
文本文件
读
取
Qt
读
取,显示几百M甚至几个G的
超大
文本文件
时,调用QFile::open()
读
取,容易出现加载卡死。 对此,可以调用QFile::map()反射内存。 uchar *QFileDevice::map(qint64 offset, qint64 size, QFileDevice::MemoryMapFlags flags = NoOptions) Maps size bytes of t...
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章