2017-08-30 66 views
-2

我從一個文件夾中讀取文件,但是我想從所有子文件夾中讀取文件。如何閱讀文件夾中的.pdf文件和java中的每個子文件夾

String myDir = "C:/Abc/Xyz/PDF/"; 
String outputDir = "C:/Abcd/XYZ/Output/"; 
File folder = new File("C:/Abc/Xyz/PDF/"); 
File[] listOfFiles = folder.listFiles(); 

for (int i = 0; i < listOfFiles.length; i++) { 
    File file = listOfFiles[i]; 

    if (file.isFile() && file.getName().endsWith(".pdf")) { 
     File fileCreation = new File(outputDir+file.getName()); 
     file.getParentFile().mkdirs(); 
     //method call 
    } 
} 
+1

嘗試做一個函數並對其進行遞歸,就這麼簡單 – PSo

+0

你是什麼意思的「閱讀pdf」? – azro

+0

由於PSo建議我實現輸出謝謝。 – Ninja

回答

0

你的代碼是好的,只是做一個功能了出來,並在每次遇到一個目錄時,與目錄的路徑再次撥打您的功能。

String myDir = "C:/Abc/Xyz/PDF/"; 

public static void main(String[] args) { 
    readFiles(myDir); 
} 

public static void readFiles(String path) { 
    File folder = new File(path); 
    File[] listOfFiles = folder.listFiles(); 
    for (int i = 0; i < listOfFiles.length; i++) { 
    File file = listOfFiles[i]; 

    if (file.isFile() && file.getName().endsWith(".pdf")) { 
     File fileCreation = new File(outputDir+file.getName()); 
     //do something with the content of the file here 
    } else if(file.isDirectory()) { 
     //recursively call the method for every directory 
     readFiles(file.getPath()); 
    } 
} 
相關問題