How do you parse arguments for a java program?

前端 未结 3 1571
生来不讨喜
生来不讨喜 2021-01-26 13:41

I\'m making a Selenium WebDriver java program. I have 25 application and 4 environments. I need to be able to pass something like -app app1 app2 app3 ... appn -env env1 env2 env

3条回答
  •  隐瞒了意图╮
    2021-01-26 14:30

    I don't think recursion is needed. You can do something like this:

    public static void main (String[] args)
    {
        List apps = new LinkedList<>();
        List envs = new LinkedList<>();
        List current = null;
        // parse arguments
        for (String arg : args)
        {
            if (arg.equals("-app")) current = apps;
            else if (arg.equals("-env")) current = envs;
            else if (current != null) // add argument
                current.add(arg);
        }
        // parsing finished
        Application.doSomethingWith(apps, envs);
    }
    

提交回复
热议问题