1 package find; 2 3 import java.io.File ; 4 import java.util.Collection ; 5 import java.util.Iterator ; 6 7 import org.apache.commons.cli.CommandLine; 8 import org.apache.commons.cli.CommandLineParser; 9 import org.apache.commons.cli.GnuParser; 10 import org.apache.commons.cli.HelpFormatter; 11 import org.apache.commons.cli.Option; 12 import org.apache.commons.cli.OptionBuilder; 13 import org.apache.commons.cli.Options; 14 import org.apache.commons.cli.ParseException; 15 16 public class Main { 17 private static Options getOptions() { 18 Option dir = OptionBuilder.withArgName( "dir" ) 19 .hasArg() 20 .withDescription( "list files in given dir" ) 21 .create( "dir" ); 22 Option name = OptionBuilder.withArgName( "name" ) 23 .hasArg() 24 .withDescription( "list files with given name" ) 25 .create( "name" ); 26 Options options = new Options(); 27 28 options.addOption(dir); 29 options.addOption(name); 30 31 return options; 32 } 33 34 public static void main(String [] args) throws Exception { 35 Options options = getOptions(); 36 try { 37 38 CommandLineParser parser = new GnuParser(); 39 40 CommandLine line = parser.parse( options, args ); 41 File dir = new File (line.getOptionValue("dir", ".")); 42 String name = line.getOptionValue("name", "jar"); 43 Collection files = FindFile.find(dir, name); 44 System.out.println("listing files in "+dir+" containing "+name); 45 for (Iterator it = files.iterator(); it.hasNext(); ) { 46 System.out.println("\t"+it.next()+"\n"); 47 } 48 } catch( ParseException exp ) { 49 System.err.println( "Parsing failed. Reason: " + exp.getMessage() ); 51 52 HelpFormatter formatter = new HelpFormatter(); 53 formatter.printHelp( "find", options ); 54 } 55 } 56 57 } 58 | Popular Tags |