<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      使用 CLI 處理命令行

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

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

         Jakarta Commons 負責 CLI 項目。雖然說如果只有一兩個參數使用它就顯得大材小用,但是如果你的應用程序從命令行接受很多設置參數的話,它就是很必要的。

         要使用 CLI,你需要創建 Options 類的一個實例:

         Options opt = new Options();

         使用 Options 的這個實例可以定義應用程序接受的命令行參數。定義命令行參數的一個方法是使用 Options 類的addOption() 方法。對應用程序可接受的每個選項調用一次這個方法。

         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");
         在定義好類的參數之后,創建一個CommandLineParser,然后解析傳遞給 main 方法的 String 數組。


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


         現在所有的參數都已被解析,你就可以分析由解析器返回的CommandLine實例來確定用戶提供的參數和值了。
         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類自動地為程序生成用法信息。


         下面是完整的代碼:
         // 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();
         }
         }
         }




      日韩精品一区二区三区高清