File类——递归查找文件夹内所有文件
2017-01-23 本文已影响154人
扒块腹肌
如何查找某个目录下文件及所有子文件夹下的文件
思路:将if判断条件分布进行,先判断文件存在,把文件夹也放进来循环
在循环中判断是否是文件夹,是则递归调用自身,把当前文件夹内的文件打印出来
import java.io.File;
/**
* @author Administrator
*
*/
public class Java_3
{
public static void main(String[] args)
{
getFile("F:\\", " ");
}
/**
* 封装实现文件查找功能的类
* @param path 传入要遍历的文件目录
* @param tab 传入空格,区分文件夹及其子文件夹
*/
public static void getFile(String path, String tab)
{
File file = new File(path);
if (file.exists())
{ //文件存在 用File类数组接收目录下所有的文件的抽象路径
File[] listFile = file.listFiles();
//遍历目录下所有文件判断是否为文件夹
for (File file2 : listFile)
{
System.out.println(tab + file2.getName());
// 如果是目录,把当前目录和taB作为参数传入,调用自身,
if (file2.isDirectory())
{//传入子文件夹路径并换行
getFile(file2.getPath(), tab + "\t");
}
}
}
}
}
控制台输出:
控制台输出.png