-3

Windows では、特定のパラメーターを使用して .exe ファイルを開始し、次のような特定のタスクを実行できます。

shutdown.exe -s

Javaでこのようなことはありますか?スキャナー機能を使用してターミナル入力を作成できることはわかっていますが、アプリケーションを非表示/ターミナルからではなく起動したいが、アプリケーションに何かを伝えることができる場合はどうなりますか?

4

2 に答える 2

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);
    // ...
}
于 2013-02-11T17:04:47.697 に答える