file.list(),文件对象的list方法,返回一个字符串数组,存储着该路径下的文件和目录的名字。
file.listFiles(),该方法返回一个File类型的数组,存储着该路径下的文件和目录的路径。
可以在.listFiles()方法的括号中放置过滤器,用以过滤出自己想要的文件类型。该过滤器可以用自定义类实现ListFile接口来实例化。实现ListFile接口的类的内部必须要创建一个以boolean类型为返回值的以accept为名的方法,这个方法的传递参数为pathname,该pathname即为传递内部文件或目录路径的形参,对其getName然后以endsWith判断以何结尾,就可过滤出想要的文件类型。
递归是指当前方法调用自己的现象,递归次数过多,会产生栈溢出的现象,递归可以用来遍历路径下的所有文件。
方法如下:
public static void ti7(File f){ File[] file=f.listFiles(); for(File x:file){ System.out.println(x); } for(File y:file){ if(y.isDirectory()&&y.listFiles().length>0){ ti7(y); } } }
将路径对象传入这个方法,即可打印该路径下所有目录和文件的路径。