文件过滤<FilenameFilter>

来源:互联网 发布:西门子s7200软件下载 编辑:程序博客网 时间:2024/06/16 08:59
实现FilenameFilter接口的方法<span style="font-family: Arial, Helvetica, sans-serif;">public boolean accept(File directory, String filename)</span>
public File[] listFiles(FilenameFilter filefilter)
public String [] list(FilenameFilter filter);文件列表的过滤功能是有list()或者listFiles()方法为原始列表中的每一项对象调用accept()方法来实现的。
import java.io.File;import java.io.FilenameFilter;public class FileListFilter implements FilenameFilter {private String name;private String extension;public FileListFilter(String name, String extension) {this.name = name;this.extension = extension;}/** * 实现FilenameFilter借口的方法 */@Overridepublic boolean accept(File directory, String filename) {boolean fileOK = true;if (name != null) {fileOK &= filename.startsWith(name);}if (extension != null) {fileOK &= filename.endsWith('.' + extension);}return fileOK;}public static void main(String[] args) {File myDir = new File("C:\\Program Files\\Java\\jdk1.8.0_31\\src\\java\\io");System.out.println(myDir.getAbsolutePath()+ (myDir.isDirectory() ? " is a directory": "is not a directory"));System.out.println("*********************");System.out.println("The parent of " + myDir.getName() + " is "+ myDir.getParent());System.out.println("*********************");FilenameFilter select = new FileListFilter("F", "java");File[] contents = myDir.listFiles(select);if (contents != null) {System.out.println("The " + contents.length+ " matching items in the directory," + myDir.getName()+ ",are:");System.out.println("*********************");for (File file : contents) {System.out.println(file + " is a "+ (file.isDirectory() ? "directory" : "file"));}} else {System.out.println(myDir.getName() + " is not a directory");}}}

0 0
原创粉丝点击