是否可以從包含多種文件類型的目錄(比如cvs,txt,doc,xml,html等)讀取單個類型的文件(比如CSV或txt)等)。從包含多種文件類型的目錄讀取單個文件類型java
我的問題是我必須提供mainDirectory的路徑作爲輸入,其中進一步有層次的子目錄裏面。當我進一步潛入時,我特別需要在這些目錄中讀取和處理CSV文件。
我完成了使用遞歸禮貌的多層文件夾遍歷,其中包含mainDirectory中文件的名稱和總數。我也完成了讀取和CSV文件的邏輯。我需要做的只是獲取CSV文件的路徑並對其進行處理。
我使用下文提到的代碼用於遍歷多個文件夾,並獲得名字: -
package org.ashu.input;
import java.io.File;
/**
*
* @author ashutosh
*/
public class MultiDir {
private int fileCount;
public void readFile(File f){
System.out.println(f.getPath());
fileCount++;
}
public void readDir(File f){
File subdir[] = f.listFiles();
for(File f_arr : subdir){
if(f_arr.isFile()){
this.readFile(f_arr);
}
if(f_arr.isDirectory()){
this.readDir(f_arr);
}
}
}
public static void main(String[] args){
MultiDir md = new MultiDir();
File mainDir = new File("/Users/ashutosh/Downloads/main_directory");
md.readDir(mainDir);
System.out.println(md.fileCount);//all file count = 1576, need to specifically get CSV
}
}
任何建議請。
RTFM:HTTP:/ /docs.oracle.com/javase/8/docs/api/java/io/File.html#listFiles-java.io.FilenameFilter- – ControlAltDel 2014-10-28 17:30:17