Windows では、特定のパラメーターを使用して .exe ファイルを開始し、次のような特定のタスクを実行できます。
shutdown.exe -s
Javaでこのようなことはありますか?スキャナー機能を使用してターミナル入力を作成できることはわかっていますが、アプリケーションを非表示/ターミナルからではなく起動したいが、アプリケーションに何かを伝えることができる場合はどうなりますか?
Windows では、特定のパラメーターを使用して .exe ファイルを開始し、次のような特定のタスクを実行できます。
shutdown.exe -s
Javaでこのようなことはありますか?スキャナー機能を使用してターミナル入力を作成できることはわかっていますが、アプリケーションを非表示/ターミナルからではなく起動したいが、アプリケーションに何かを伝えることができる場合はどうなりますか?
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);
// ...
}