2015年06月07日 Directory 浏览(57) 收藏

运用FilenameFilter过滤器对Directory下文件按规则进行过滤

运用FilenameFilter过滤器对Directory下文件按规则进行过滤的代码如下:

/**
 * @from www.everycoding.com
 * @Description:运用FilenameFilter过滤器对Directory下文件按规则进行过滤
 */
public class DirectoryFileFilterTester {
	public static void main(String[] args) {
		File dirs = new File("C:\\Intel");
		File[] files = dirs.listFiles();
		for (File file : files) {
			System.out.println((file.isDirectory() ? "目录:" : "文件:")+file);
		}
		String[] xfiles = dirs.list();
		for (String file : xfiles) {
			System.out.println("未过滤时的文件有:" + file);
		}
		FilenameFilter filter = new FilenameFilter() {
			public boolean accept(File dir, String name) {
				if (name.endsWith(".ppt")) {
					return true;
				}
				return false;
			}
		};

		File[] yfiles = dirs.listFiles(filter);
		for (File file : yfiles) {
			System.out.println("按规则过滤后的文件有:" + file);
		}
	}
}

执行结果如下:

目录:C:\Intel\ExtremeGraphics
文件:C:\Intel\gg.ppt
目录:C:\Intel\Logs
文件:C:\Intel\新建文本文档.txt
未过滤时的文件有:ExtremeGraphics
未过滤时的文件有:gg.ppt
未过滤时的文件有:Logs
未过滤时的文件有:新建文本文档.txt
按规则过滤后的文件有:C:\Intel\gg.ppt


赞一下 0 人赞了本文