比较两个文本文件的内容
发布网友
发布时间:2022-04-20 11:47
我来回答
共1个回答
热心网友
时间:2023-09-12 20:54
import java.io.File;
import java.io.FileInputStream;
import java.util.Arrays;
public class Example {
public static void main(String[] args) throws Exception {
File f1 = new File("a.txt");
File f2 = new File("b.txt");
System.out.println(equalsFile(f1, f2));
}
public static boolean equalsFile(File f1, File f2) throws Exception {
// 不判断这两个文件是否存在
if (f1.length() != f2.length()) {
return false;
}
FileInputStream fis1 = new FileInputStream(f1);
FileInputStream fis2 = new FileInputStream(f2);
// 严格比较它们的字节
int len = -1;
byte[] bs1 = new byte[1024];
byte[] bs2 = new byte[1024];
while ((len = fis1.read(bs1)) != -1) {
fis2.read(bs2, 0, len);
boolean equals = Arrays.equals(bs1, bs2);// 直接用系统的方法来比较两个数组
if (!equals) {
fis1.close();
fis2.close();
return false;
}
}
fis1.close();
fis2.close();
return true;
}
}