如何获取java中的目录和子目录中的所有文件的名称
答
递归通过目录结构,收集所有不是子目录的文件的名称。
答
您在找File.list()了解更多详情,请仔细阅读javadoc。
答
public static void walkin(File dir) {
String pattern = "file pattern"; //for example ".java"
File listFile[] = dir.listFiles();
if(listFile != null) {
for(int i=0; i<listFile.length; i++) {
if(listFile[i].isDirectory()) {
walkin(listFile[i]);
} else {
if(listFile[i].getName().endsWith(pattern))
{
System.out.println(listFile[i].getPath());
}
}
}
}
}
+0
感谢它也在工作 – itro 2012-01-10 07:38:21
答
使用Java列出目录做类似这样
东西File dir = new File(fname);
String[] list = dir.list();
if(list == null){
System.out.println("Specified directory does not exist or is not a directory.");
System.exit(0);
}else{
//list the directory content
for(int i = 0; i < chld.length; i++){
String fileName = list[i];
System.out.println(fileName);
}
大部分代码来自这里,http://www.roseindia.net/java/beginners/DirectoryListing.shtml
+0
感谢它的工作 – itro 2012-01-10 08:04:21
答
使用Apache Commons
String filePath = "/apps/fraud";
String[] acceptedExtension = {"ctl","otl","dat","csv","xls"};
String[] acceptedFolders = {"suresh","dir","kernel"};
Collection fileList = FileUtils.listFiles(
new File(filePath),
new SuffixFileFilter(acceptedExtension) ,
new NameFileFilter(acceptedFolders)
);
你试过了什么?如果你看'java.io',它应该是相当直接的代码。你需要一个递归下降函数。 – 2012-01-09 13:17:40