package d2;
import java.io.File;
import java.io.FileInputStream;
public class Practice1 {
public static boolean compareTextFiles(FileInputStream fin1, FileInputStream fin2)
throws Exception {
int f1 = fin1.read();
int f2 = fin2.read();
while ((char)f1 == (char)f2) {
if (f1 == -1) { //如果f1和f2都指向文件末尾
return true;
}else {
f1 = fin1.read();
f2 = fin2.read();
continue;
}
}
//f1或f2开始不同
System.out.println("textfile 1:");
while (f1 != -1) {
System.out.print((char)f1);
f1 = (int)fin1.read();
}
System.out.println("\n-----------------");
System.out.println("textfile 2:");
while (f2 != -1) {
System.out.print((char)f2);
f2 = (int)fin2.read();
}
System.out.println("\n-----------------");
return false;
}
}
用两个文本文档来测试:
main方法:
package d2;
import java.io.File;
import java.io.FileInputStream;
public class Driver {
public static void main(String[] args) throws Exception{
FileInputStream fin1 = new FileInputStream(new
File("C:\\Users\\Perry\\Desktop\\randomv2.1\\test1.txt"));
FileInputStream fin2 = new FileInputStream(new
File("C:\\Users\\Perry\\Desktop\\randomv3\\test2.txt"));
System.out.print(Practice1.compareTextFiles(fin1,fin2));
}
}
输出结果:
两个文本从world里的ld开始不一样,输出结果正确!
结束。