import java.io.File;
import java.util.List;
import java.util.Vector;
/**
* @author QSJ
* @date 2018-03-11
* @describe 递归实现输入任意目录,列出文件以及文件夹
*/
public class Recursion {
public static void main(String[] args){
List<File> file = getAllfile("./doc");
for(File fs : file){
System.out.println(fs);
}
}
/**
* 递归逻辑
*/
private static void RecursionFile(File file,List<File> files){
if(file==null){
return;
}else{
File [] filelist = file.listFiles();
for(File fs : filelist){
files.add(fs);
if(!fs.isFile()){
RecursionFile(fs,files); //递归,层层向下(注意递归逻辑:在递归中如果遇到文件,在进行向下递归时就会发生NullpointException,因为无向下的文件夹)
}else{
continue;
}
}
}
}
/**
* @param path 文件路径
* @return 文件集合
*/
public static List<File> getAllfile(String path){
List<File> files = new Vector<File>();
File file = new File(path);
if(file.exists() && file.isDirectory()){
RecursionFile(file,files);
}
return files;
}
}
递归实现任意目录,列出文件以及文件夹
最新推荐文章于 2023-07-17 20:33:27 发布