listFiles()
and list() methods include all files and directories.
The files/directories that are included may be restricted by passing a
java.io.FileFilter
to these methods.
In this example code we will show you how to use the java.io.FileFilter class and only find the files ending with .htm
With the help of this example code you can selectively find the files from the file system.
In this complete example on java.io.fileFilter you will learn how to use this class correctly.
javax.io.FileFilter interface, which means that you must
define the boolean accept() method.
For example, to create a filter that accepts all directories and
HTML files.
private class HTMLFileFilter implements java.io.FileFilter {
public boolean accept(File f) {
if (f.isDirectory()) return true;
String name = f.getName().toLowerCase();
return name.endsWith("html") || name.endsWith("htm");
}//end accept
}//end class HTMLFileFilter
This example defines the required accept method. always
accept directories so the user can then navigate around the file system.
The reason this code doesn't include the "." in front of the suffix is
to allow file suffixes like ".shtml", ".xhtml", ....
File f;
java.io.FileFilter HTMLfilter = new HTMLFileFilter();
. . . // a value is given to f
if (f.isDirectory()) {
File[] children = f.listFiles(HTMLfilter);
. . .
}
and similarly for String[] names = f.list(HTMLfilter) which returns
an array of strings of the names of the files in the directory.