问题:
Java 用什么解析参数
如:java -cp *** com.itwenti.app1.App -n 10 –slient arg0 arg1
解决:
http://commons.apache.org/proper/commons-cli/
参考 http://commons.apache.org/proper/commons-cli/usage.html
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
// create the command line parser CommandLineParser parser = new DefaultParser(); // create the Options Options options = new Options(); options.addOption( "a", "all", false, "do not hide entries starting with ." ); options.addOption( "A", "almost-all", false, "do not list implied . and .." ); options.addOption( "b", "escape", false, "print octal escapes for nongraphic " + "characters" ); options.addOption( OptionBuilder.withLongOpt( "block-size" ) .withDescription( "use SIZE-byte blocks" ) .hasArg() .withArgName("SIZE") .create() ); options.addOption( "B", "ignore-backups", false, "do not list implied entried " + "ending with ~"); options.addOption( "c", false, "with -lt: sort by, and show, ctime (time of last " + "modification of file status information) with " + "-l:show ctime and sort by name otherwise: sort " + "by ctime" ); options.addOption( "C", false, "list entries by columns" ); String[] args = new String[]{ "--block-size=10" }; try { // parse the command line arguments CommandLine line = parser.parse( options, args ); // validate that block-size has been set if( line.hasOption( "block-size" ) ) { // print the value of block-size System.out.println( line.getOptionValue( "block-size" ) ); } } catch( ParseException exp ) { System.out.println( "Unexpected exception:" + exp.getMessage() ); } |