【问题标题】:How to read key value pair from a option file?如何从选项文件中读取键值对?
【发布时间】:2013-06-11 06:23:35
【问题描述】:

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

调试中-

-debug "option file path"

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

选项文件内容:

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

所以在这里调试我想通过

-isjubula " path"

以便我的应用程序可以链接到此文件并读取其内容。

【问题讨论】:

    标签: java


    【解决方案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
    

    编辑:

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

    【讨论】:

    • 对不起..我想你没有得到我的问题。
    • 假设你在调试模式下运行一个程序,而不是你必须在内部传递参数 -debug "path" 它会寻找一些 .options 文件,然后它会接受已经存在的 true 或 false选项文件..
    • 如果我不清楚请参考这个链接wiki.eclipse.org/…
    • 这是通过 eclipse 进行调试,但我想要自定义选项而不是调试
    • 我的应用程序仅限于eclipse。它是RCP。所以我没有主要方法
    【解决方案2】:

    好吧,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";

    【讨论】:

    • 我没有 main 方法。它是 RCP
    • 那么,你可以试试这个.. 这告诉你如何将命令行参数传递给 RCP blog.vogella.com/2008/06/21/…
    • 试过了,但它只是重新使用插件名称
    【解决方案3】:

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

        //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
                    }
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      相关资源
      最近更新 更多