首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何遍历多个文件夹,并使用Java对存储在其中的pdfs进行比较

如何遍历多个文件夹,并使用Java对存储在其中的pdfs进行比较
EN

Stack Overflow用户
提问于 2021-02-17 07:25:12
回答 1查看 238关注 0票数 0

我试图逐一比较存储在不同文件夹中的PDF文件,下面是我在其中编写的代码,当它比较文件夹(数据)的第二个PDF文件(文件22)时,它会从另一个文件夹中提取第一个PDF来比较吗?

代码语言:javascript
复制
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;

                       }

              }```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-18 06:27:49

嗨,使用下面的java代码,它将工作(我所做的是将您编写的两个for循环组合成一个,这样两个文件夹将同时被迭代)。

代码语言:javascript
复制
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);

 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66237417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档