Looking for java Keywords? Try Ask4Keywords

Java Language Обработка аргументов с использованием GWT ToolBase


пример

Если вы хотите анализировать более сложные аргументы командной строки, например, с необязательными параметрами, лучше всего использовать подход GWT Google. Все классы доступны по адресу:

https://gwt.googlesource.com/gwt/+/2.8.0-beta1/dev/core/src/com/google/gwt/util/tools/ToolBase.java

Пример для обработки командной строки myprogram -dir "~/Documents" -port 8888 является:

public class MyProgramHandler extends ToolBase {
   protected File dir;
   protected int port;
   // getters for dir and port
   ...

   public MyProgramHandler() {
       this.registerHandler(new ArgHandlerDir() {
            @Override
            public void setDir(File dir) {
                this.dir = dir;
            }
       });
       this.registerHandler(new ArgHandlerInt() {
            @Override
            public String[] getTagArgs() {
               return new String[]{"port"};
            }
            @Override
            public void setInt(int value) {
               this.port = value;
            }
       });
   }
   public static void main(String[] args) {
      MyProgramHandler myShell = new MyProgramHandler();
      if (myShell.processArgs(args)) {
         // main program operation
         System.out.println(String.format("port: %d; dir: %s",
            myShell.getPort(), myShell.getDir()));
      }
      System.exit(1);
   }
}

ArgHandler также имеет метод isRequired() , который может быть переписан , чтобы сказать , что требуется аргумент командной строки (возврат по умолчанию является false , так что аргумент является необязательным.