「对比文档java」对比文档差异

博主:adminadmin 2022-11-24 11:42:08 45

今天给各位分享对比文档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的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。