扫描文件夹获取包含子文件夹在内的所有文件
2016-02-21 09:05
495 查看
package main; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; /** * @author 周广 * @version 1.0 * @Time 2016/02/20 * @see 类的唯一构造函数接收一个字符串格式的文件夹路径,以此构建一个对象。 * 通过调用 init()方法,判断这个路径是否存在且是否为文件夹。 * init()方法会在验证路径通过后调用showAll()方法获取这个路径下所有文件的路径(包括子文件夹) * 最后通过调用backAllFilePath()方法返回装载所有File对象的容器 */ public class ShowAllFile { //用于存放传入的路径 private String path; //用于构建传入的路径的File对象 private File file; //用于存放所有的File对象 private ArrayList<File> fileList; /** * 带参构造函数(唯一) * @param path */ public ShowAllFile(String path) { this.path=path; } /** * * @return 返回一个装载了扫描到的所有的File对象的容器 */ public ArrayList<File> backAllFilePath() { return fileList; } /** * * @throws FileNotFoundException 如果传入的路径不正确抛出异常 * @throws IOException 如果传入的路径指向的不是一个文件夹抛出异常 * @see 验证传入的文件夹路径,在验证成功后调用showAll()方法处理路径 */ public void init() throws FileNotFoundException,IOException { file=new File(path); if (!file.exists()) { throw new FileNotFoundException(path); }else { if (!file.isDirectory()) { throw new IOException(); }else { fileList=new ArrayList<File>(); showAll(file); } } } /** * @param 已经被验证的File对象 * @see 私有方法被init()调用,来递归处理文件夹及子文件夹 */ private void showAll(File file){ File files[]=file.listFiles(); for (File f : files) { if (!f.isDirectory()) { fileList.add(f); }else { showAll(f); } } } }
相关文章推荐
- String使用字面值常量赋值与new String()赋值的区别
- NEC 框架规范 css function
- LeetCode Roman to Integer
- jqMobi(App Framework)入门学习(一)
- codeforces 629D. Babaei and Birthday Cake
- bit-map牛刀小试:数组test[X]的值所有在区间[1, 8000]中, 现要输出test中反复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB
- 全面详细的jQuery常见开发技巧手册
- Hive Operators and User-Defined Functions (UDFs)
- php课程---建立一个简单的下拉列表框
- Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
- php课程---初学练习
- 完善的jquery处理机制
- php课程---JavaScript改变HTML中的元素
- html5 isPointInPath相关操作
- 从头開始写项目Makefile(七):统一目标输出文件夹
- 使用工具来提升Android开发效率
- [LeetCode 329] Longest Increasing Path in a Matrix
- Android读取assets中的文件
- php课程---Windows.open()方法参数详解
- jquery对象和DOM对象的任意相互转换