java 利用opencsv判断两个csv文件内容是否相同给出示例代码
下面是使用opencsv库判断两个CSV文件内容是否相同的示例代码:
import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;
public class CompareCSVFiles {
public static void main(String[] args) {
String file1 = "file1.csv";
String file2 = "file2.csv";
try (CSVReader reader1 = new CSVReader(new FileReader(file1));
CSVReader reader2 = new CSVReader(new FileReader(file2))) {
String[] nextLine1;
String[] nextLine2;
int lineNumber = 1;
while ((nextLine1 = reader1.readNext()) != null && (nextLine2 = reader2.readNext()) != null) {
if (!compareLines(nextLine1, nextLine2)) {
System.out.println("Files are not identical at line " + lineNumber);
return;
}
lineNumber++;
}
if (reader1.readNext() != null || reader2.readNext() != null) {
System.out.println("Files have different number of lines");
} else {
System.out.println("Files are identical");
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static boolean compareLines(String[] line1, String[] line2) {
if (line1.length != line2.length) {
return false;
}
for (int i = 0; i < line1.length; i++) {
if (!line1[i].equals(line2[i])) {
return false;
}
}
return true;
}
}
在以上示例代码中,我们假设存在两个CSV文件:file1.csv和file2.csv。代码会逐行读取两个文件的内容并逐行比较。如果两个文件的某一行不相同,将会输出不同的行数,并结束比较。如果两个文件的行数不同,则会输出文件行数不同的信息。如果两个文件的所有行都相同,则会输出两个文件内容相同的信息
原文地址: https://www.cveoy.top/t/topic/iQx2 著作权归作者所有。请勿转载和采集!