2015年06月20日 File Name 浏览(258) 收藏

Java根据文件名称过滤某文件夹下所有的文件

Java根据文件名称过滤某文件夹下所有的文件的代码如下:

import java.io.File;
import java.io.FilenameFilter;
import java.util.Date;

/**
 * 
 * @Website: www.everycoding.com
 * @Description: Java根据文件名称过滤某文件夹下所有的文件
 */
public class FileFilterByNameTester {
	public static void main(String[] args) {
		File dir = new File("C:/Dir/");
		// 匹配文件名包含'ec'且后缀txt结尾的文件
		FileSelectFilter select = new FileSelectFilter("ec", "txt");
		File[] contents = dir.listFiles(select);
		for (File file : contents) {
			System.out.println(file + "已匹配:" + new Date(file.lastModified()));
		}
	}
}

class FileSelectFilter implements FilenameFilter {
	private String name;
	private String extension;

	public FileSelectFilter(String name, String extension) {
		this.name = name;
		this.extension = extension;
	}

	public boolean accept(File directory, String filename) {
		boolean fileMatch = true;
		if (name != null) {
			fileMatch = filename.startsWith(name);
			if (extension != null && fileMatch) {
				fileMatch = filename.endsWith('.' + extension);
			}
		}
		return fileMatch;
	}

}


赞一下 0 人赞了本文