如何将java文件内容进行比较

如何将java文件内容进行比较,第1张

比较文件的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 Map<String, String>getDirMD5(File file,boolean listChild) {

if(!file.isDirectory()){

return null

}

//<filepath,md5>

Map<String, String>map=new HashMap<String, String>()

String md5

File files[]=file.listFiles()

for(int i=0i<files.lengthi++){

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文件时,慕课网和其他网站有一些区别。首先,慕课网提供的Java文件是最新的,而其他网站可能提供的是旧版本的文件。其次,慕课网的Java文件是安全的,而其他网站可能提供的文件可能会有安全隐患。此外,慕课网的Java文件可以更快地下载,而其他网站可能会比较慢。最后,慕课网的Java文件可以更好地满足用户的需求,而其他网站可能提供的文件可能不能满足用户的需求。总之,慕课网提供的Java文件下载更加安全、快捷和满足用户需求,因此比其他网站更受欢迎。

1)程序运行开始的时候,提示输出两个文件的路径;

2)程序一行一行比较,当其中有一行不一样的时候,提示文件内容不同的行数以及内容;

3)如果文件内容一样,提示用户内容一样。

package buffered

import java.io.*

import java.lang.String

import java.util.Scanner

public class BufferedTest

{

public static void main(String[] args){

try{Scanner readr=new Scanner(System.in)<br/>System.out.println("输入第一个文件的路径及文件名:")<br/>String file1=readr.next()<br/>System.out.println("输入第二个文件的路径及文件名:")<br/>String file2=readr.next()<br/>FileReader inOne1=new FileReader(file1)<br/>BufferedReader inTwo1=new BufferedReader(inOne1)<br/>String s1=null<br/>int i=0//行数 <br/>boolean b=true//检察是行数 <br/>FileReader inOne2=new FileReader(file2)<br/>BufferedReader inTwo2=new BufferedReader(inOne2)<br/>String s2=null<br/>//文件内容对比 <br/>while((s1=inTwo1.readLine())!=null){ <br/>i++<br/>while((s2=inTwo2.readLine())!=null){ <br/><br/>if(s1.equals(s2)!=true){ <br/>System.out.println("第"+i+"行:"+s1+"和"+s2+"内容不一样")<br/>b=false<br/>}

break

}

}

if(b){System.out.println("文件内容一样")}

}

catch(IOException e){

System.out.println(e)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7952217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存