|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES All Classes |
FileFilter
and FilenameFilter
.
See:
Description
Interface Summary | |
---|---|
ConditionalFileFilter | Defines operations for conditional file filters. |
IOFileFilter | An interface which brings the FileFilter and FilenameFilter interfaces together. |
Class Summary | |
---|---|
AbstractFileFilter | An abstract class which implements the Java FileFilter and FilenameFilter interfaces via the IOFileFilter interface. |
AgeFileFilter | Filters files based on a cutoff time, can filter either newer files or files equal to or older. |
AndFileFilter | A FileFilter providing conditional AND logic across a list of
file filters. |
CanReadFileFilter | This filter accepts File s that can be read. |
CanWriteFileFilter | This filter accepts File s that can be written to. |
DelegateFileFilter | This class turns a Java FileFilter or FilenameFilter into an IO FileFilter. |
DirectoryFileFilter | This filter accepts File s that are directories. |
EmptyFileFilter | This filter accepts files or directories that are empty. |
FalseFileFilter | A file filter that always returns false. |
FileFileFilter | This filter accepts File s that are files (not directories). |
FileFilterUtils | Useful utilities for working with file filters. |
HiddenFileFilter | This filter accepts File s that are hidden. |
MagicNumberFileFilter | File filter for matching files containing a "magic number". |
NameFileFilter | Filters filenames for a certain name. |
NotFileFilter | This filter produces a logical NOT of the filters specified. |
OrFileFilter | A FileFilter providing conditional OR logic across a list of
file filters. |
PrefixFileFilter | Filters filenames for a certain prefix. |
RegexFileFilter | Filters files using supplied regular expression(s). |
SizeFileFilter | Filters files based on size, can filter either smaller files or files equal to or larger than a given threshold. |
SuffixFileFilter | Filters files based on the suffix (what the filename ends with). |
TrueFileFilter | A file filter that always returns true. |
WildcardFileFilter | Filters files using the supplied wildcards. |
WildcardFilter | Deprecated. Use WilcardFileFilter. |
This package defines an interface (IOFileFilter) that combines both
FileFilter
and FilenameFilter
. Besides
that the package offers a series of ready-to-use implementations of the
IOFileFilter interface including implementation that allow you to combine
other such filters.
These filter can be used to list files or in FileDialog
,
for example.
There are a number of 'primitive' filters:
DirectoryFilter | Only accept directories |
PrefixFileFilter | Filter based on a prefix |
SuffixFileFilter | Filter based on a suffix |
NameFileFilter | Filter based on a filename |
WildcardFileFilter | Filter based on wildcards |
AgeFileFilter | Filter based on last modified time of file |
SizeFileFilter | Filter based on file size |
And there are five 'boolean' filters:
TrueFileFilter | Accept all files |
FalseFileFilter | Accept no files |
NotFileFilter | Applies a logical NOT to an existing filter |
AndFileFilter | Combines two filters using a logical AND |
OrFileFilter | Combines two filter using a logical OR |
These boolean FilenameFilters can be nested, to allow arbitrary expressions. For example, here is how one could print all non-directory files in the current directory, starting with "A", and ending in ".java" or ".class":
File dir = new File("."); String[] files = dir.list( new AndFileFilter( new AndFileFilter( new PrefixFileFilter("A"), new OrFileFilter( new SuffixFileFilter(".class"), new SuffixFileFilter(".java") ) ), new NotFileFilter( new DirectoryFileFilter() ) ) ); for ( int i=0; i<files.length; i++ ) { System.out.println(files[i]); }
This package also contains a utility class: FileFilterUtils. It allows you to use all file filters without having to put them in the import section. Here's how the above example will look using FileFilterUtils:
File dir = new File("."); String[] files = dir.list( FileFilterUtils.andFileFilter( FileFilterUtils.andFileFilter( FileFilterUtils.prefixFileFilter("A"), FileFilterUtils.orFileFilter( FileFilterUtils.suffixFileFilter(".class"), FileFilterUtils.suffixFileFilter(".java") ) ), FileFilterUtils.notFileFilter( FileFilterUtils.directoryFileFilter() ) ) ); for ( int i=0; i<files.length; i++ ) { System.out.println(files[i]); }
There are a few other goodies in that class so please have a look at the documentation in detail.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES All Classes |