2013-02-11 148 views
-3

在Windows中,你可以启动.exe文件某些参数做某些任务,如:东西在Java中是(类似)参数

shutdown.exe -s 

有没有这样的在Java中任何东西,我知道我可以使用Scanner功能做终端输入,但是如果我想在应用程序中看不到/不从终端启动应用程序,但仍能够告诉应用程序。

+5

Java中的main()方法有一个'String []'参数给你这个。 – millimoose 2013-02-11 16:59:43

+0

你可以指定这个多一点,我将如何能够做到这一点真正的,并启动它的应用程序? – Deni 2013-02-11 17:01:04

回答

1

看看这个Progra L:

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 

您还可以设置下运行传递给在Eclipse程序的命令行参数>运行配置>参数

+0

我选择这个是因为这是最简单的解决方案。 – Deni 2013-02-15 20:37:21

0

我会建议使用args4j

所有Java程序允许通过的主要方法的命令行输入:

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); 
    // ... 
} 
相关问题