cumtljj 发表于 2014-5-25 15:32:38

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

我所说的大文件指的是 文件的行数比较多 有几万行文件的数据有一定的规律 具体如下 怎么才能把其中 1 2 3 点的不同都找出来呢? 谢谢

gb23 发表于 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)

gb23 发表于 2014-5-25 18:07:01

不过不知道大文件是不是很慢~~~大文件可以用Assign IsDeclared~~~~把数据命名为变量,再检测变量存在与否~~~论坛里有帖子,搜索一下~~~

gb23 发表于 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)

nmgwddj 发表于 2014-5-26 10:37:09

如果是练手我是帮不上忙,如果单纯为了对比文件,可以用Beyond Compare

zxhou1 发表于 2014-5-26 11:46:32

一行一行读效率会太慢么

zzwwdd 发表于 2014-5-29 07:58:04

Beyond Compare 我一直用,功用很强! 很好用的!

zch11230 发表于 2014-5-29 10:52:49

楼主是要对比两个文件的同一行的文本么?那用_FileReadToArray读到数组 再对比数组应该快一点。
页: [1]
查看完整版本: 如何快速有效的对两个“大文件”进行对比“找茬”