「对比文档java」对比文档差异
今天给各位分享对比文档java的知识,其中也会对对比文档差异进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java语言实现两个office文档之间的比较,应该怎样做?如word对比,excel对比,ppt对比,project对比等?
- 2、JAVA实现如何比较两个文档之间的异同点
- 3、用JAVA把2个TXT文档逐行进行比较
- 4、如何将java文件内容进行比较
- 5、有两个名字一样的java文件,怎样比较其内容的不同地方(一个是以前写的,一个更新的程序)?有什么方法?
用java语言实现两个office文档之间的比较,应该怎样做?如word对比,excel对比,ppt对比,project对比等?
一定要用java语言的话,代码只能自己写了。不用java的话,好像有现成的(xdocdiffPlugin_1_0_6c)。
你的需求我都曾经做过。你可以试试POI,不过它不能解决所有的问题,有很多地方需要自己写。
而且,还要看你所说的“对比”要细化到什么程度,比方说:你想比较2个word文档中对应的“行”,这可能就比较难了。
JAVA实现如何比较两个文档之间的异同点
楼上回答驴唇不对马嘴。
这个文件比较功能,我做过比较txt简单文本文件的。office文件没比过,说下想法,希望能对你有帮助
打开要读取的两份文件,依次读取A所有行数,将每一行的数据以字符串的形式存储在一个字符串数组里,假如是 StringA[] ,同时也一样处理 B文件
分别从开始遍历两个 字符串数组,比较 相似(相同) 字符百分比。当然有时候可能A文件第10行是一个空行,但是其下面的所有数据都和B文件一样,所以这个遍历对比不是门当户对的 行行相比,而是 一次遍历多对多的比较(但是仍要考虑顺序,比如A第10行和B第15行相同,但是A第12行又和B第10行相同,那么这一个范围段都是不匹配片断),找出相似度最高的。
希望能对你有帮助吧
用JAVA把2个TXT文档逐行进行比较
如果2个文件编码相同...下面的程序就应该没问题了...如果编码不同....呵呵....那就需要先知道编码了....
package my.code;
import java.io.BufferedReader;
import java.io.FileReader;
import java.nio.charset.Charset;
public class CompareTXTFile {
private String txtfile1 = "D:/1.txt";
private String txtfile2 = "D:/2.txt";
private String txtfile1_encode = "UTF-8";
private String txtfile2_encode = "UTF-8";
public CompareTXTFile() {
try {
run();
} catch (Exception e) {
e.printStackTrace();
}
}
private void run() throws Exception {
BufferedReader in1 = new BufferedReader(new FileReader(txtfile1));
BufferedReader in2 = new BufferedReader(new FileReader(txtfile2));
String str1 = "", str2 = "";
int i = 0;
while (true) {
i++;
str1 = in1.readLine();
str2 = in2.readLine();
if (str1 == null || str2 == null)
break;
str1 = new String(str1.getBytes(), Charset.forName(txtfile1_encode));
str2 = new String(str2.getBytes(), Charset.forName(txtfile2_encode));
if (!str1.equals(str2)) {
System.out.println("在第" + i + "行,2个文件不对应");
}
}
}
public static void main(String[] args) {
new CompareTXTFile();
}
}
如何将java文件内容进行比较
比较文件的MD5即可
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
public class FileDigest {
/**
* 获取单个文件的MD5值!
* @param file
* @return
*/
public static String getFileMD5(File file) {
if (!file.isFile()){
return null;
}
MessageDigest digest = null;
FileInputStream in=null;
byte buffer[] = new byte[1024];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
BigInteger bigInt = new BigInteger(1, digest.digest());
return bigInt.toString(16);
}
/**
* 获取文件夹中文件的MD5值
* @param file
* @param listChild ;true递归子目录中的文件
* @return
*/
public static MapString, String getDirMD5(File file,boolean listChild) {
if(!file.isDirectory()){
return null;
}
//filepath,md5
MapString, String map=new HashMapString, String();
String md5;
File files[]=file.listFiles();
for(int i=0;ifiles.length;i++){
File f=files[i];
if(f.isDirectory()listChild){
map.putAll(getDirMD5(f, listChild));
} else {
md5=getFileMD5(f);
if(md5!=null){
map.put(f.getPath(), md5);
}
}
}
return map;
}
public static void main(String[] args) {
File file1 = new File("a.txt");
File file2 = new File("b.txt");
System.out.println(getFileMD5(file1).equals(getFileMD5(file2)));
}
}
有两个名字一样的java文件,怎样比较其内容的不同地方(一个是以前写的,一个更新的程序)?有什么方法?
1、如果一个是本地文件,一个是svn服务器上的,可以直接使用eclipse里面svn的“比较对象”——“资源库中的最新内容”(你的应该是英文)
2、UltraEdit中“文件”——“比较文件”,选中要比较的两个文件即可。
对比文档java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于对比文档差异、对比文档java的信息别忘了在本站进行查找喔。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。