我试图逐一比较存储在不同文件夹中的PDF文件,下面是我在其中编写的代码,当它比较文件夹(数据)的第二个PDF文件(文件22)时,它会从另一个文件夹中提取第一个PDF来比较吗?
String object ="D:\\test.pdf";
String data ="D:\\test2.pdf";
Log.info("PDF Documents has been Verified");
// boolean isEquals = false;
try{
String result =Constants.Path_Result+DriverScript.s;
File[] file10 = new File(object).listFiles(File::isFile);
for (File file1: file10) {
String fileExtension = file1.getName().split("\\.")[file1.getName().split("\\.").length - 1];
if (fileExtension.toLowerCase().equals("pdf")) {
file12 =file1.getAbsolutePath();
System.out.println(file12);
File[] file121 = new File(data).listFiles(File::isFile);
for (File file2: file121) {
String fileExtension1 = file2.getName().split("\\.")[file2.getName().split("\\.").length - 1];
if (fileExtension1.toLowerCase().equals("pdf")) {
String file22 =file2.getAbsolutePath();
new de.redsix.pdfcompare.PdfComparator(file12, file22).compare().writeTo(result+"//"+file2.getName());
}}}}
}catch(Exception e){
System.out.println(e.getMessage());
Log.error("Not able to Close the Browser --- " + e.getMessage());
DriverScript.bResult = false;
}
}```发布于 2021-02-18 06:27:49
嗨,使用下面的java代码,它将工作(我所做的是将您编写的两个for循环组合成一个,这样两个文件夹将同时被迭代)。
String path1 = "D:\\newfolder\\";
String path2 = "D:\\newfolder1\\";
String result="D:\\result\\";
File folder1 = new File(path1);
File folder2 = new File(path2);
File[] listOfFiles1 = folder1.listFiles();
File[] listOfFiles2 = folder2.listFiles();
ArrayList<String> fileNames1 = new ArrayList<String>();
ArrayList<String> fileNames2 = new ArrayList<String>();
for ( int i = 0,j = 0; i < listOfFiles2.length&& j < listOfFiles1.length; i++,j++)
if (listOfFiles2[i].isFile()&&listOfFiles1[j].isFile())
{ fileNames2.add(listOfFiles2[i].getName().split("\\.")[listOfFiles2[i].getName().split("\\.").length - 1]);
fileNames1.add(listOfFiles1[j].getName().split("\\.")[listOfFiles1[j].getName().split("\\.").length - 1]);
String str = fileNames1.toString();
str.toLowerCase().equals("pdf");
String file01 =listOfFiles1[j].getName();
file12 =listOfFiles1[j].getAbsolutePath();
String str1 = fileNames2.toString();
str1.toLowerCase().equals("pdf");
file0 =listOfFiles2[i].getName();
file22 =listOfFiles2[i].getAbsolutePath();
new de.redsix.pdfcompare.PdfComparator(file12,file22).compare().writeTo(result+"//"+file0);
}https://stackoverflow.com/questions/66237417
复制相似问题