Java by API/java.io/FilenameFilter

Материал из Java эксперт
Перейти к: навигация, поиск

implements FilenameFilter

/*
 * Output:
 The 0 matching items in the directory, , are:
 */
import java.io.File;
import java.io.FilenameFilter;
import java.util.Date;
public class MainClass {
  public static void main(String[] args) {
    File myDir = new File("C:/");
    // Define a filter for java source files beginning with F
    FilenameFilter select = new FileListFilter("F", "java");
    File[] contents = myDir.listFiles(select);
    if (contents != null) {
      System.out.println("\nThe " + contents.length
          + " matching items in the directory, " + myDir.getName()
          + ", are:");
      for (File file : contents) {
        System.out.println(file + " is a "
                + (file.isDirectory() ? "directory" : "file")
                + " last modified on\n"
                + new Date(file.lastModified()));
      }
    } else {
      System.out.println(myDir.getName() + " is not a directory");
    }
    return;
  }
}
class FileListFilter implements FilenameFilter {
  private String name; 
  private String extension; 
  public FileListFilter(String name, String extension) {
    this.name = name;
    this.extension = extension;
  }
  public 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;
  }
}