几款代码比较工具BeyondCompare、TextDiff、WinMerge等下载

由于博客升级的测试版本,后来的一些发现了较严重的问题,报告了一些bug聊聊也修正更新了,但是他却不发布修正的方案,而Google那也不更新代码的修改了。此时相关的文件我已经修改了很多,不可能都给覆盖掉。没法知道这些问题的具体位置,于是只好找代码对比工具来帮忙了。
下面是找的一些代码对比工具,基本都是优秀的汉化或绿色版本,在这里共享一下

优秀的代码比较工具BeyondCompare

软件功能:用于比较和合并源代码
Beyond Compare 是一款不可多得的专业级的文件夹和文件对比工具。使用他可以很方便的对比出两个文件夹或者文件的不同之处。并把相差的每一个字节用颜色加以表示,查看方便。并且支持多种规则对比。对软件汉化者来说,这绝对是一款不可多得的工具。该工具有Windows和Linux下两个版本

下载:
Beyond Compare v3.1.6 汉化版
http://www.crsky.com/soft/2975.html

Beyond Compare 3.1.6 Build 10721┊专业级文件夹和文件对比┊汉化绿色特别版
http://www.greendown.cn/soft/2507.html #

Beyond Compare 3.1.6 汉化版
http://www.onlinedown.net/soft/23172.htm

官方下载:
http://www.scootersoftware.com/download.php

TextDiff

windows比较好的一个小巧的工具,只有几百kb.
TextDiff 是一个开放源代码的文本比较工具,与商业或共享文本比较工具相比,虽然在功能上显得较弱,但是已经完全可以满足一般的源代码比较、修改的要求。另外,由于是开源软件,只要您愿意,可以完全按照自己的要求把它改造得更加强大。 

下载:
http://www.onlinedown.net/soft/39040.htm
http://www.onegreen.net/Soft_Show.asp?SoftID=357

WinMerge 2.12.4 多语言版

当您有两个以上的内容相似的文字文件时,WinMerge就可以立刻派上用场,帮您检查两个文件里头不同之处。如您有写过程序就会了解,当您在改版时,在新的程序码与旧的程序码之间到底有哪些不同之处,的确会让您伤一些脑筋。或者您曾撰写两份以上的文字文件,内容稍有差异,但要从头查起,可能会相当累人,这时候就可以利用WinMerge来帮您自动比对。WinMerge会将两个文件内容做比对,并在相异之处以高亮度的方式显示,让使用者可以很快的查知,并且您可以直接让左方的文件内容直接覆盖至右方,或者反过来也可,这对需要常常修改文件内容的朋友来说,会是相当便利的一个功能。

天空下载:
http://www.skycn.com/soft/53238.html

以上几个软件总体来说都不错,不过我比较喜欢小巧的软件,只要能实现需要的功能就行,所以只用于代码比较的话,还是推荐TextDiff.
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java中实现前后文本比对的代码示例: ```java import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class TextDiff { public static void main(String[] args) { String originalText = "This is the original text."; String modifiedText = "This is the modified text."; List<String> originalWords = Arrays.asList(originalText.split("\\s+")); List<String> modifiedWords = Arrays.asList(modifiedText.split("\\s+")); int[][] lcs = getLCS(originalWords, modifiedWords); List<String> originalDiff = getDiff(originalWords, lcs, true); List<String> modifiedDiff = getDiff(modifiedWords, lcs, false); System.out.println("Original Diff: " + originalDiff); System.out.println("Modified Diff: " + modifiedDiff); } private static int[][] getLCS(List<String> originalWords, List<String> modifiedWords) { int[][] lcs = new int[originalWords.size() + 1][modifiedWords.size() + 1]; for (int i = 0; i <= originalWords.size(); i++) { for (int j = 0; j <= modifiedWords.size(); j++) { if (i == 0 || j == 0) { lcs[i][j] = 0; } else if (originalWords.get(i - 1).equals(modifiedWords.get(j - 1))) { lcs[i][j] = lcs[i - 1][j - 1] + 1; } else { lcs[i][j] = Math.max(lcs[i - 1][j], lcs[i][j - 1]); } } } return lcs; } private static List<String> getDiff(List<String> words, int[][] lcs, boolean isOriginal) { List<String> diff = new ArrayList<>(); int i = words.size(); int j = lcs[0].length - 1; while (i > 0 && j > 0) { if (words.get(i - 1).equals(words.get(j - 1))) { i--; j--; } else if (lcs[i][j - 1] >= lcs[i - 1][j]) { diff.add(isOriginal ? "[-" + words.get(i - 1) + "]" : "[+" + words.get(j - 1) + "]"); j--; } else { diff.add(isOriginal ? "[+" + words.get(j - 1) + "]" : "[-" + words.get(i - 1) + "]"); i--; } } while (i > 0) { diff.add(isOriginal ? "[-" + words.get(i - 1) + "]" : ""); i--; } while (j > 0) { diff.add(isOriginal ? "" : "[+" + words.get(j - 1) + "]"); j--; } return diff; } } ``` 这段代码实现了将两个文本进行比较,并输出它们之间的差异。在该示例中,我们将原始文本和修改后的文本分别转换为单词列表,并将其传递给`getLCS`方法以获取最长公共子序列。接下来,我们使用`getDiff`方法获取修改差异,并打印输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值