2013-02-11 66 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); 
    // ... 
} 
相關問題