String[] filenames = file.list( someFilter );will get list of files in this directory. Wildcards won’t work. Note it returns an array of Strings, not including the directory, not File objects. Files are not in any particular order. They include the subdirectories, but not the . or .. entries.
Your FilenameFilter needs at a minimum to filter with File.isDirectory().
You can also use FileDialog.setFilenameFilter( java.io.FilenameFilter ) to restrict which files are displayed in a File choosing dialog.
Here is how to write a simple class that implements the FilenameFilter interface:
I have written 10 FilenameFilters with source. All are trivial except for the MultiFilter that lets you combine other filters in various ways.They come with Java source. The collection is mainly for newbies trying to get some ideas on how FilenameFilters work and how you could write them.
| FilenameFilters | |
|---|---|
| Name | Purpose |
| AllDirectoriesFilter | gets all directories |
| AllFilesFilter | gets all files |
| ClamFilter | simple wildcard |
| EverythingFilter | gets everything |
| FileLengthFilter | gets short or long files |
| FilenameLengthFilter | gets short or long filenames |
| ListFilter | gets a list of files |
| MultiFilter | combines other Filters with "consider", "must" and "never". |
| RecentFilter | filters based on lastModified date |
| RegexFilter | filters with Regex expressions. |
You can cascade (combine) FilenameFilters by having one ask advice of another, or write a mother filter that asks the advice of several child filters and &&’s or ||’s the results of their accept methods. MultiFilter makes that task easy.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.16] | The information on this page is for non-military use only. | ||
| You are visitor number 23,285. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/filter.html | J:\mindprod\jgloss\filter.html | ||