10.13. Using Globs and Perl5 Regular Expressions to List Files

Problem

You need to get a list of files that match either a glob or regular expression.

Solution

Use Perl5FilenameFilter or GlobFilenameFilter from Jakarta ORO to select all files matching an expression. Both of these classes implement the FileFilter and FilenameFilter interface, and both can be passed to the listFiles( ) method on a File object. The following example uses GlobFilenameFilter to list XML files in the ./dataDir directory:

import org.apache.oro.io.GlobFilenameFilter;

File dataDir = new File("./dataDir");
FilenameFilter xmlFilter = new GlobFilenameFilter( "*.xml" );
File[] xmlFiles = dataDir.listFiles( xmlFilter );

To find all files matching a Perl regular expression, use the Perl5FilenameFilter. The following example returns files starting with “dev” and ending with “.tld” by passing a regular expression to the constructor of Perl5FilenameFilter:

File dataDir = new File("./dataDir");
FilenameFilter regexFilter = new Perl5FilenameFilter( "^dev.*.tld$" );
File[] tldFiles = dataDir.listFiles( regexFilter );
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.97.170