import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class MD5andKL {
public static List<String> readText(String fileName) {
File file = new File(fileName);
List<String> listResult = new ArrayList();
try {
Set<String> set = new HashSet<String>();
if (file.exists()) {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = "";
while ((line = br.readLine()) != null) {
set.add(line.trim());
}
br.close();
fr.close();
}
for (String ss : set) {
listResult.add(ss);
}
} catch (Exception e) {
e.printStackTrace();
}
return listResult;
}
public static void writeText(String fileName,List<String> list) {
File file = new File(fileName);
if(null == list || list.size()==0){
return ;
}
if (file.exists()) {
file.delete();
} else{
try {
file.createNewFile();
FileWriter fw = new FileWriter(file);
for(String str :list ){
fw.write(str+"\n");
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static List checkList(List<String> list1, List<String> list2) {
List listResult = new ArrayList();
Set<String> set = new HashSet<String>();
for (String ss : list1) {
if (!list2.contains(ss)) {
set.add(ss);
}
}
for (String ss : list2) {
if (!list1.contains(ss)) {
set.add(ss);
}
}
for (String ss : set) {
listResult.add(ss);
}
return listResult;
}
public static void checkByFileName(String name1,String name2,String name3){
String fileName1 = "d:/"+name1+".txt";
String fileName2 = "d:/"+name2+".txt";
String fileName3 = "d:/"+name3+".txt";
List<String> list = checkList(readText(fileName1), readText(fileName2));
writeText(fileName3, list);
}
public static void main(String[] args) {
checkByFileName("1", "2", "3");
}
}
分享到:
相关推荐
在C#编程中,文件比较是一项常见的任务,用于检测两个文件的内容是否一致。这在很多场景下都很有用,比如版本控制、数据验证或者备份检查等。下面我们将详细探讨如何使用C#来实现这个功能。 首先,我们需要理解文件...
在IT行业中,比较两个文件的不同是一项常见的任务,特别是在软件开发、文本分析或版本控制等领域。本文将详细讨论如何使用Visual Studio 2005来实现这个功能,以及相关的编程概念和技术。 首先,我们要理解文件比较...
这个过程可以方便用户一次性安装或运行多个程序,而无需分别处理每个文件。本项目涉及的是将两个exe文件进行捆绑,并提供了同步和异步两种执行方式,这在软件部署和自动化测试场景中尤其有用。 在捆绑过程中,主要...
资源界面部分,由于没有具体的信息,我们可以假设它可能包含一个简单的用户界面,用户可以通过界面上传或指定需要比较的文本文件,然后程序会显示两个文件的差异。资源作者的信息没有给出,但可以推断这是一个供...
在这个例子中,`file1.bin`和`file2.bin`是待合并的两个文件,`merged.bin`是合并后的结果。脚本会读取两个输入文件的全部内容,并写入到输出文件中。 然而,在本场景中,有一个名为"UBIN.zip"的压缩包,这表明可能...
在这个场景下,我们可以利用`fileinput`模块读取文件内容,再用`difflib`模块来比较两个文件的差异。 `fileinput`模块允许我们方便地逐行迭代多个文件,而`difflib`模块则提供了`Differ()`类,它能够生成人类可读的...
Qt5.9的可扩展性使得开发者可以轻松地集成这个文件比较功能到自己的应用程序中。 "CompareFiles-master"这个文件名暗示这是一个源代码仓库,包含了实现文件比较功能的代码。开发者可以通过阅读和学习这些源码,了解...
在VS2008中创建一个C#控制台应用程序,可以使用以下步骤来比较两个文件: 1. **打开文件**:使用`File.OpenRead()`打开两个待比较的文件,获取`FileStream`对象。 ```csharp FileStream file1 = File.OpenRead(@...
在VC++环境中,将两个EXE文件“代码级”捆绑在一起是一种常见的技术,这通常用于创建自包含的应用程序,比如安装程序或者某些特殊用途的工具。这种技术涉及到将一个或多个EXE文件作为资源嵌入到另一个EXE文件中,...
7. **自动化比较**:如果你经常需要比较多个CSV文件,可以编写脚本或程序,自动处理文件比较,并将结果输出到日志或邮件,提高工作效率。 8. **可视化比较**:有一些工具如Beyond Compare、WinMerge等,提供了可视...
为了方便使用,你可以将以上步骤封装为一个方法,接受两个文件路径作为参数,并返回比较结果。同时,考虑使用异常处理以增加代码的健壮性。 通过以上步骤,你可以在C#项目中实现对两个Word文件的详细比较。这只是...
在Excel本身中,虽然没有直接的内置功能来比较两个文件,但可以通过一些外部工具或编程方法实现。这里提到的“diff_excel.exe”可能是一个专门用于比较Excel文件的第三方工具。这类工具通常会提供一个界面,让用户...
"比较工具"就是专为此目的设计的软件,能够有效地帮助用户识别两个或多个文件或文件夹之间的差异,从而进行精确的数据同步、代码审查、版本控制等操作。"比较好用"的比较工具通常具备用户友好的界面、高效的操作性能...
1. **目录比较**:目录比较是指对两个或多个文件夹内的文件和子目录进行对比,以确定它们之间的异同。这通常涉及到文件名、大小、修改日期以及内容的比对。 2. **功能特性**: - **文件匹配**:Directory Compare...
本文将详细讨论“两个文件指定范围内的比较工具”,并基于提供的描述和标签,阐述其功能、应用场景以及如何操作。 标题中的“两个文件指定范围内的比较的工具”是指一种能够对比两个文件中特定区域差异的软件应用。...
本文将深入探讨如何对两个FoxPro的DBF表进行比较,这是一种用于检查数据一致性和差异性的实用技巧。 首先,让我们理解DBF文件。DBF是FoxPro数据库的标准文件格式,它存储表格数据,每个表由一系列记录组成,每条...
本教程将详细介绍如何在MATLAB中对两个M文件进行编译。 首先,让我们了解M文件的类型。有两类基本的M文件:脚本文件(通常以`.m`结尾)和函数文件(同样以`.m`结尾)。脚本文件是一系列按顺序执行的命令,而函数...
2. 比较操作:在命令行界面输入compdbf命令,指定需要比较的两个dbf文件路径。例如:`compdbf file1.dbf file2.dbf`,程序将自动开始比较。 3. 查看结果:比较完成后,compdbf会在控制台输出详细的比较结果,包括...
标题中的“硬盘文件对比程序”是指一种用于比较两个或多个硬盘、分区或特定目录中文件内容的工具。这种程序的主要目的是识别并列出重复的文件,帮助用户管理和优化存储空间,尤其是在面临硬盘空间不足或者文件管理...
在上传多个文件时,我们需要创建一个 `FormData` 对象,然后将每个文件逐个添加到其中。在微信小程序中,这通常通过 `wx.uploadFile` 的回调来完成。每个文件上传成功后,我们可以获取到服务器返回的文件标识(如...