delphi处理2G的文本,过滤重复行....(1分)

  • 主题发起人 主题发起人 gfwlxx
  • 开始时间 开始时间
寒心...

对回帖的人寒心... //只个算法,不给代码 list思陆我都说了过 试都不用试 还有这么多人多此一举说不行
对恶意骂人的'有畏'这类的人更寒心... //骂我是楼猪,说我如果觉得简单就自己写,还说是商业问题要现金... 我好像没得罪你啊,你怎么这么埋汰人啊... 向世界展示你素质多么低下吗?

这个问题很难吗?
简单到家了 算法我有的是,
但是delphi我不会定位文本中行,
比如我要读取a.txt中的第177行的内容输出到b.txt 我怎么定位咯...

以下是我写的批处理版过滤重复行代码,别让'有喂'那个骂我还要钱的人看看
其实除了建立文件和覆盖文件代码除外,一行代码就解决了过滤重复行的主函数
保存为 filter.bat 把要处理的文本名改尘1.txt 双击 ok
cd.>b.txt
for /f "delims=" %%i in (1.txt) do if not defined _%%i echo %%i>>b.txt&set "_%%i=%%i"
move /y b.txt 1.txt >nul
 
少一点谩骂,少一点争吵,多一点宽容,多一点虚心。
大富翁果然是越来越差了,看来要减少来的次数了。
思路:(仅供参考,gfwlxx,从你发的所有帖子来看,我不知道你要搞什么,但纯技术论坛,还是解答一下吧。)
1.如果2G的数据以后还用得着,例如:历史查找等原因,建议将数据导入到数据库中,用数据库来处理。
2.如果用不到,可以分段读取2G文件,然后分段Hash过滤重复行并保存为新文件,如此递归即可。
3.无论是数据库还是文本处理,最终的结果还是要用Hash,不建议用树,因为建树是为了查找快速,但建树(相当于索引)的时间成本太高了。至于文件大小的处理,分段即可。
4.仅仅是个思路,需要不断实践,重构,改进,然后才会有你满意的结果。
 
以后发帖得注意了:
没codez的解答就免了
 
别人还义务了,不知楼主高姓大名,还code...

吐一下。
 
这个问题我也没有处理过。
如果根据 yayongm 兄的方法去实现,要把代码全部写出来,而且要通过测试,那是需要一定的时间成本的。
固然奉献精神值得提倡,但如果成本太高愿意奉献的人自然就很少。

我建议楼主首先确定实现的思路,然后在实现中遇到了具体问题再提出来,这种低成本的回复,大家回答的反应才会热烈,而且更容易解决。
 
楼猪是直接来拿代码的。。。。
 
用一句sql导入到sql数据库中 然后用函数直接过滤即可 速度快
 
后退
顶部