递归算法遍历文件夹中所有文件
来源:互联网 发布:数据库软件工程师考试 编辑:程序博客网 时间:2024/06/06 09:00
- 引言:怎样才能遍历出一个文件夹中的所有文件呢,我们知道,java中的File类中有这样的方法,list() ,可以返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。我们是否可以用这个方法返回一个字符串数组,然后进行遍历输出不就可以了。就像这样:
File file = new File("G:/kaishengit/"); String []names = file.list(); if(names != null) { for(String name : names) { FileUtil.getAllFile(name); } }
**可是,如果我们遍历的文件中还包含有文件夹,这个怎么办,那么不着急,我们还有这样一种方法,listFiles() ,可以返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件,返回File对象之后,再进行遍历输出不就好了,多么简单的事情,就像是这样:
File file = new File(“G:/kaishengit/test”);//输出路径下所有文件和文件夹**
File[] listFile = file.listFiles(); for(File list : listFile) { System.out.println(list.getName()); if(list.isDirectory()) { String[] names = list.list(); for(String name:names) { System.out.println(name); } } }
可是,我们文件夹中的文件中如果还有好几层文件夹,这可怎么办啊,总不能让我一直去判断这个文件是个路径还是个文件,如果是路径,就一直往下走,那不把人写死了,这个时候,递归算法就屌起来了,直接上代码,大概是这样的:
public static void getAllFile(String path) { File file = new File(path); if(file.isFile()) { System.out.println(file.getAbsolutePath()); }else { File[] subFiles = file.listFiles(); if(subFiles != null) { for(File files : subFiles) { getAllFile(files.getAbsolutePath()); } } } } 测试一下: FileUtil.getAllFile("G:/kaishengit");
这样就实现了简单的递归调用,指定路径下的所有文件就都会遍历输出了。是不是很方便呢。
0 0
- 递归算法遍历文件夹中所有文件
- 深度递归遍历文件夹中所有文件
- Delphi下遍历文件夹下所有文件的递归算法
- 递归遍历某文件夹下所有文件的算法
- Delphi下遍历文件夹下所有文件的递归算法
- Node.js使用递归实现遍历文件夹中所有文件
- 递归遍历文件夹下的所有文件
- 遍历文件夹找出所有.java文件(递归)
- shell 递归遍历文件夹下所有文件
- 如何递归遍历文件夹里所有文件
- 递归遍历文件夹下所有文件
- VB.net遍历路径下的所有文件及所有子文件夹---递归算法
- 利用递归算法遍历所有文件并打印文件绝对路径(包括文件夹)
- //利用 DirectoryInfo递归遍历文件夹,删除所有文件,文件夹
- 利用递归遍历文件夹下所有文件以及子文件夹
- 递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件
- 递归遍历路径下所有文件算法
- java遍历文件夹中所有文件
- 二分查找
- Android图片加载框架最全解析(四),玩转Glide的回调与监听
- 2017 Wuhan University Programming Contest 现场赛G. Room(set+思路)
- AS中jar包冲突解决方案
- Unity3d学习 基础-关于MonoBehaviour的生命周期
- 递归算法遍历文件夹中所有文件
- Tomcat配置理解
- Xamarin android沉浸式状态栏
- 策略模式(Strategy Pattern)
- 二叉树的前序遍历
- 最大网络流
- Pixhawk原生固件PX4之添外置传感器MPU6500
- [已解决]您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
- 骄傲的代价