0

我想从我的应用程序中的选项文件中读取键值对。我想将该值作为命令行参数传递,例如调试。

在调试中-

-debug "option file path"

同样,我想在我的键值对中做同样的事情

选项文件的内容:

com.xxx.xxx.xxx.xxx.xxx/isjubula = false

所以在这里调试我想通过

-isjubula " path"

这样我的应用程序就可以链接到该文件并读取其内容。

4

3 回答 3

1

有什么问题:

public class MyClass{
    public static void main(String args[]) {

        if(args.length == 2 && args[0].equalsIgnoreCase("-isjubula")) {
            System.out.println(args[1]); //get the option
        }
        else {
           System.out.println("Illegal options");
        }
    }
}

您可以为上述程序提供选项,同时在命令行中运行它,如下所示:

java MyClass -isjubula "/home/myconf.conf"

或者

java MyClass -isjubula /home/myconf.conf

编辑:

不,仍然没有这样的设施。但是你应该知道的一件事,这里debug提到的选择方式,被称为仪器。通常,仪器完全依赖于平台。但理想情况下,您不应该在代码中使用使其完全依赖的东西!eclipse

于 2013-06-11T06:35:08.017 回答
0

好吧,Java 的 main 方法可以帮助您。阅读一些文档并参考如何使用 main 方法参数数组。

public static void main(String args[]) {
   String commandType = args[0];
   String command = args[1];

   if(commandType.equals("-isjubula"){
         //TODO: your code here...
   }

}

我没有在这里添加任何空检查..请添加它们..

你可以在编译后运行这种类型的java程序,像java TestClass "-isjubula" "hello world" 一样运行它;

于 2013-06-11T07:40:04.363 回答
0

我找到了更好的方法。请看下面的代码。

    //code
    import java.util.Arrays;
    import java.util.List;
    public class Test {
        public static void main(String[] args) {
            List<String> st = Arrays.asList(args);
            if (st.contains("-zipfile")) {
                if (st.indexOf((st.indexOf("-zipFile") + 1)) != -1) {
                    // TODO your code
                }
            }

            if (st.contains("-priority")) {
                if (st.indexOf((st.indexOf("-priority") + 1)) != -1) {
                    // TODO your code
                }
            }
        }
    }
于 2015-07-13T15:07:14.210 回答