是否可以从包含多种文件类型的目录(比如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