Java中的某些东西(类似于)参数

时间:2013-02-11 16:58:27

标签: java parameters

在Windows中,您可以使用某些参数启动.exe文件,以执行某些任务,例如:

shutdown.exe -s

在Java中是否有这样的东西,我知道我可以使用扫描仪功能进行终端输入,但如果我想启动应用程序不可见/不在终端,但仍然能够告诉应用程序一些东西。

2 个答案:

答案 0 :(得分:1)

看看这个程序:

public class Example {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
    }
}

并将其称为:

java Example foo bar baz

输出

foo
bar
baz

您还可以在 Run &gt;下设置传递给Eclipse程序的命令行参数。 运行配置&gt; 参数

答案 1 :(得分:0)

我建议使用args4j

所有Java程序都允许通过main方法输入命令行:

public void main(String[] args)

但是args4j允许您轻松创建一个类并解析标志something.exe -f flag1

public class MyOptions {

    @Option(name="-r",usage="recursively run something")
    private boolean recursive;

    @Option(name="-o",usage="output to this file")
    private File out;

    @Option(name="-str")        // no usage
    private String str = "(default value)";

    @Option(name="-n",usage="usage can have new lines in it\n and also it can be long")
    private int num;

    // receives other command line parameters than options
    @Argument
    private List arguments = new ArrayList();
}

你只需要用你的主要方法调用这个类:

public void main(String[] args) throws IOException {
    MyOptions bean = new MyOptions()
    CmdLineParser parser = new CmdLineParser(bean);
    parser.parseArgument(args);
    // ...
}