ListFiles(),文件过滤器与递归

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);
			}
		}
		
	}

 将路径对象传入这个方法,即可打印该路径下所有目录和文件的路径。

猜你喜欢

转载自www.cnblogs.com/zhangrui0328/p/9200884.html