六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用 CLI 處理命令行

[摘要]編寫處理命令行參數(shù)的代碼并不是一件很令人興奮的事,但是有時(shí)候依然有必要這樣做。在下次需要分析命令行參數(shù)并且事情有點(diǎn)復(fù)雜的時(shí)候,可不要忘了可信賴的開放源代碼 Java 工具箱,并使用命令行接口(CLI,Command Line Interface)!  Jakarta Commons 負(fù)責(zé) CLI...

   編寫處理命令行參數(shù)的代碼并不是一件很令人興奮的事,但是有時(shí)候依然有必要這樣做。在下次需要分析命令行參數(shù)并且事情有點(diǎn)復(fù)雜的時(shí)候,可不要忘了可信賴的開放源代碼 Java 工具箱,并使用命令行接口(CLI,Command Line Interface)。

   Jakarta Commons 負(fù)責(zé) CLI 項(xiàng)目。雖然說如果只有一兩個(gè)參數(shù)使用它就顯得大材小用,但是如果你的應(yīng)用程序從命令行接受很多設(shè)置參數(shù)的話,它就是很必要的。

   要使用 CLI,你需要?jiǎng)?chuàng)建 Options 類的一個(gè)實(shí)例:

   Options opt = new Options();

   使用 Options 的這個(gè)實(shí)例可以定義應(yīng)用程序接受的命令行參數(shù)。定義命令行參數(shù)的一個(gè)方法是使用 Options 類的addOption() 方法。對(duì)應(yīng)用程序可接受的每個(gè)選項(xiàng)調(diào)用一次這個(gè)方法。

   opt.addOption("h", false, "Print help for this application");
   opt.addOption("u", true, "The username to use");
   opt.addOption("dsn", true, "The data source to use");
   在定義好類的參數(shù)之后,創(chuàng)建一個(gè)CommandLineParser,然后解析傳遞給 main 方法的 String 數(shù)組。


   BasicParser parser = new BasicParser();
   CommandLinecl = parser.parse(opt, args);


   現(xiàn)在所有的參數(shù)都已被解析,你就可以分析由解析器返回的CommandLine實(shí)例來確定用戶提供的參數(shù)和值了。
   if ( cl.hasOption('h') ) {
   HelpFormatter f = new HelpFormatter();
   f.printHelp("OptionsTip", opt);
   }
   else {
   System.out.println(cl.getOptionValue("u"));
   System.out.println(cl.getOptionValue("dsn"));
   }
   從上面的代碼可以看到,你可以使用HelpFormatter類自動(dòng)地為程序生成用法信息。


   下面是完整的代碼:
   // OptionsTip.java
   import org.apache.commons.cli.BasicParser;
   import org.apache.commons.cli.Options;
   import org.apache.commons.cli.CommandLine;
   import org.apache.commons.cli.HelpFormatter;
   import org.apache.commons.cli.ParseException;

   public class OptionsTip {
   public static void main(String args[]) {
   try {
   Options opt = new Options();

   opt.addOption("h", false, "Print help for this application");
   opt.addOption("u", true, "The username to use");
   opt.addOption("dsn", true, "The data source to use");

   BasicParser parser = new BasicParser();
   CommandLinecl = parser.parse(opt, args);

   if ( cl.hasOption('h') ) {
   HelpFormatter f = new HelpFormatter();
   f.printHelp("OptionsTip", opt);
   }
   else {
   System.out.println(cl.getOptionValue("u"));
   System.out.println(cl.getOptionValue("dsn"));
   }
   }
   catch (ParseException e) {
   e.printStackTrace();
   }
   }
   }




主站蜘蛛池模板: 一本一道波多野结衣一区二区 | 婷婷六月久久综合丁香76 | 日本高清在线视频www色下载 | 午夜性福利视频 | 伊人色院成人蜜桃视频 | 亚洲国产精品成人午夜在线观看 | 婷婷六月久久综合丁香可观看 | 日本a黄色片 | 中文天堂最新版www官网在线 | 日本中文字幕在线 | 小小的日本在线观看中文 | 中日韩国语视频在线观看 | 青青青国产在线手机免费观看 | 亚洲视频精品在线 | 中文字幕成人 | 亚洲精品老司机在线观看 | 在线亚洲精品自拍 | 日本成人免费在线 | 日本一本在线视频 | 四虎永久精品免费观看 | 四虎影永久在线观看精品 | 片子免费在线观看 | 日本五级床片全部硬硬 | 日韩大片观看网址 | 欧美性夜 | 午夜资源网| 天天碰天天摸天天操 | 人人艹人人射 | 午夜不卡福利 | 野草影院手机在线观看免费6 | 色偷偷亚洲男人天堂 | 亚洲综合导航 | 青草影院在线观看免费版 | 亚洲欧美成人完整版在线 | 日韩精品资源 | 日日噜噜噜夜夜爽爽狠狠 | 欧美一级第一免费高清 | 亚洲国产精品久久 | 四虎新网址 | 亚洲精品国产福利 | 色综合久久综合网欧美综合网 |