找回密码
 加入
搜索
查看: 7140|回复: 7

[效率算法] 如何快速有效的对两个“大文件”进行对比“找茬”

  [复制链接]
发表于 2014-5-25 15:32:38 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
我所说的大文件指的是 文件的行数比较多 有几万行  文件的数据有一定的规律 具体如下 怎么才能把其中 1 2 3 点的不同都找出来呢? 谢谢

附件: 您需要 登录 才可以下载或查看,没有账号?加入
发表于 2014-5-25 17:57:57 | 显示全部楼层
Local $file1 = FileOpen("1.txt", 0)
Local $file2 = FileOpen("2.txt", 0)

Dim $i =0
Do
    Local $line1 = FileReadLine($file1)
        $cw=@error
    Local $line2 = FileReadLine($file2)
    $i=$i+1
If $line1<>$line2 Then
        FileWrite("结果.txt","区别行数:"&$i)
    ENDIF
Until $cw = -1

FileClose($file1)
FileClose($file2)
发表于 2014-5-25 18:07:01 | 显示全部楼层
不过不知道大文件是不是很慢~~~大文件可以用Assign IsDeclared~~~~把数据命名为变量,再检测变量存在与否~~~论坛里有帖子,搜索一下~~~
发表于 2014-5-25 18:10:54 | 显示全部楼层
Local $file1 = FileOpen("1.txt", 0)
Local $file2 = FileOpen("2.txt", 0)

Dim $i =0
Do
    Local $line1 = FileReadLine($file1)
        $cw=@error
    Local $line2 = FileReadLine($file2)
    $i=$i+1
If $line1<>$line2 Then
        FileWrite("结果.txt","区别行数:"&$i)
    ENDIF
Until $cw = -1

FileClose($file1)
FileClose($file2)
发表于 2014-5-26 10:37:09 | 显示全部楼层
如果是练手我是帮不上忙,如果单纯为了对比文件,可以用Beyond Compare
发表于 2014-5-26 11:46:32 | 显示全部楼层
一行一行读效率会太慢么
发表于 2014-5-29 07:58:04 | 显示全部楼层
Beyond Compare 我一直用,功用很强! 很好用的!
发表于 2014-5-29 10:52:49 | 显示全部楼层
楼主是要对比两个文件的同一行的文本么?那用_FileReadToArray读到数组 再对比数组  应该快一点。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 10:01 , Processed in 0.081866 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表