package com.taiyusoft.biandubianbijiao;
import com.taiyusoft.Fc;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class qqqq {
private static List listoneNot1 = new ArrayList<>(); //存放数据二缺失的数据
private static List listoneNot2 = new ArrayList<>(); //存放数据二缺失的数据
private static List listoneNot3 = new ArrayList<>(); //存放数据二缺失的数据
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
String dirName1 = "C:\\Users\\taiyu\\Desktop\\4444\\file1";
String dirName2 = "C:\\Users\\taiyu\\Desktop\\file2";
File file = new File(dirName1);
readFileSum1(file, dirName1, dirName2);
File file1 = new File(dirName2);
readFileSum2(file1, dirName1,dirName2);
if (listoneNot1.size() > 0) {
System.out.println("**********************************************");
System.out.println("数据源1与数据源2相比,发生删除或者新增操作的文件...");
for (int i = 0; i < listoneNot1.size(); i++) {
System.out.println( listoneNot1.get(0));
}
System.out.println("**********************************************");
} else {
System.out.println("**********************************************");
System.out.println("数据源1与数据源2相比,未检测到发生删除或者新增操作的文件...");
System.out.println("**********************************************");
}
if (listoneNot2.size() > 0) {
System.out.println("__________________________________________________");
System.out.println("数据源2中排除的文件...");
for (int i = 0; i < listoneNot2.size(); i++) {
System.out.println( listoneNot2.get(0));
}
System.out.println("__________________________________________________");
} else {
System.out.println("__________________________________________________");
System.out.println("数据源2与数据源1相比,未检测到发生删除或者新增操作的文件...");
System.out.println("__________________________________________________");
}
//打印数据3缺失数据
if (listoneNot3.size() > 0) {
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
System.out.println("两者之间发生修改的文件");
for (int i = 0; i < listoneNot3.size(); i++) {
System.out.println(( listoneNot3.get(i)));
}
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
} else {
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
System.out.println("数据源2与数据源1,未检测到发生修改的文件...");
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
}
//结束时间
long endTime = System.currentTimeMillis();
//打印
System.out.println("程序运行时间:" + (double) (endTime - startTime) / 1000 + "s");
}
public static void readFileSum1(File root, String dirName1, String dirName2) {
if (root.exists()) {
if (root.isDirectory()) {
File[] files = root.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
File file2 = new File(String.valueOf(files[i]).replace(dirName1, dirName2));
if (file2.exists()) {
if (file2.lastModified() != files[i].lastModified()) {
System.out.println("数据2中该文件与数据1中该文件内容可能不同");
listoneNot3.add(files[i]);
listoneNot3.add(file2);
}
} else {
System.out.println("数据2中不存在该文件");
listoneNot2.add(file2);
}
} else if (files[i].isDirectory()) {
readFileSum1(files[i], dirName1, dirName2);
}
files[i] = null;
}
}
files = null;
} else if (root.isFile()) {
File file2 = new File(String.valueOf(root).replace(dirName1, dirName2));
if (file2.exists()) {
if (file2.lastModified() != root.lastModified()) {
System.out.println("数据2中该文件与数据1中该文件内容可能不同");
listoneNot3.add(root);
listoneNot3.add(file2);
}
} else {
System.out.println("数据2中不存在该文件");
listoneNot2.add(file2);
}
}
}
}
public static void readFileSum2(File root, String dirName1, String dirName2) {
if (root.exists()) {
if (root.isDirectory()) {
File[] files = root.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
File file2 = new File(String.valueOf(files[i]).replace(dirName2,dirName1 ));
if (file2.exists()) {
if (file2.lastModified() != files[i].lastModified()) {
System.out.println("数据1中该文件与数据2中该文件内容可能不同");
listoneNot3.add(files[i]);
listoneNot3.add(file2);
}
} else {
System.out.println("数据2中不存在该文件");
listoneNot1.add(file2);
}
} else if (files[i].isDirectory()) {
readFileSum2(files[i], dirName1, dirName2);
}
files[i] = null;
}
}
files = null;
} else if (root.isFile()) {
File file2 = new File(String.valueOf(root).replace(dirName2,dirName1 ));
if (file2.exists()) {
if (file2.lastModified() != root.lastModified()) {
System.out.println("数据2中该文件与数据1中该文件内容可能不同");
listoneNot3.add(root);
listoneNot3.add(file2);
}
} else {
System.out.println("数据2中不存在该文件");
listoneNot1.add(file2);
}
}
}
}
}
Java file comparison 6, new ideas while reading and comparing
Guess you like
Origin blog.csdn.net/m0_54765221/article/details/125545391
Recommended
Ranking