package com.AsamiOffice.jaba2.io; import java.io.*; import org.apache.oro.text.regex.*; import org.apache.oro.text.*; /** * WildcardFilenameFilter * * @since Feb. 11, 1998 * @version Mar. 16, 2001 * @author ASAMI, Tomoharu (tasami@ibm.net) */ public class WildcardFilenameFilter implements FilenameFilter { public WildcardFilenameFilter(String regex) { try { matcher_ = new Perl5Matcher(); PatternCompiler compiler = new GlobCompiler(); pattern_ = compiler.compile(regex); } catch (MalformedPatternException e) { throw (new IllegalArgumentException(e.getMessage())); } } public boolean accept(File dir, String name) { PatternMatcherInput input = new PatternMatcherInput(name); return (matcher_.matches(input, pattern_)); } PatternMatcher matcher_; Pattern pattern_; // test driver public static void main(String[] args) { String dirname = args[0]; String regex = args[1]; File dir = new File(dirname); String[] files = dir.list(new WildcardFilenameFilter(regex)); for (int i = 0;i < files.length;i++) { System.out.println(files[i]); } } }