KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > find > Main


1 package find;
2
3 import java.io.File JavaDoc;
4 import java.util.Collection JavaDoc;
5 import java.util.Iterator JavaDoc;
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 JavaDoc[] args) throws Exception JavaDoc {
35       Options options = getOptions();
36       try {
37         
38         CommandLineParser parser = new GnuParser();
39
40         CommandLine line = parser.parse( options, args );
41         File JavaDoc dir = new File JavaDoc(line.getOptionValue("dir", "."));
42         String JavaDoc name = line.getOptionValue("name", "jar");
43         Collection JavaDoc files = FindFile.find(dir, name);
44         System.out.println("listing files in "+dir+" containing "+name);
45         for (Iterator JavaDoc it = files.iterator(); it.hasNext(); ) {
46           System.out.println("\t"+it.next()+"\n");
47         }
48       } catch( ParseException exp ) {
49           // oops, something went wrong
50
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