javaSE File, listFiles()目录遍历,文件过滤(FileFilter接口)


Test.java:

package cn.xxx.demo;

import java.io.File;

/*
 *  File类的获取,文件获取过滤器
 *  遍历目录的时候,可以根据需要,只获取满足条件的文件
 *  遍历目录方法 listFiles()重载形式
 *  listFiles(FileFilter filter)接口类型
 *  传递FileFilter接口的实现类
 *  自定义FileFilter接口实现类,重写抽象方法,
 *  接口实现类对象传递到遍历方法listFiles
 */
public class Test {
	public static void main(String[] args) {
		File file = new File("c:\\demo");
		File[] fileArr = file.listFiles(new MyFilter());  // 目录遍历, 传入文件过滤器参数
		for(File f : fileArr){
			System.out.println(f);
		}
	}
}
MyFilter.java(传给listFiles()的文件过滤器):
package cn.xxx.demo;

import java.io.File;
import java.io.FileFilter;

/*
 *  自定义过滤器
 *  实现FileFilter接口,重写抽象方法
 */
public class MyFilter implements FileFilter{  // 实现FileFilter接口
	public boolean accept(File pathname)  {  // 重写抽象方法。
		return pathname.getName().endsWith(".java");  // pathname是传过来的全路径。getName()获取全路径中最后部分的文件(夹)名。  
	}
}


猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/80695858