Java では、次のようにオプションを指定して Linux プログラムを実行するにはどうすればよいですか。
ls -a
(オプションは -a)、そして別:
./myscript name=john age=24
コマンドの実行方法は知っていますが、オプションを実行できません。
1430 次
2 に答える
2
外部プロセスを実行する必要があります。ProcessBuilderを見てください。質問にほとんど答えているという理由だけで、ProcessBuilder を使用してシステム コールを作成する
例で更新
これをリストの例からそのまま取り出して修正したので、自分の PC でテストして問題なく動作しました。
private static void copy(InputStream in, OutputStream out) throws IOException {
while (true) {
int c = in.read();
if (c == -1) {
break;
}
out.write((char) c);
}
}
public static void main(String[] args) throws IOException, InterruptedException {
// if (args.length == 0) {
// System.out.println("You must supply at least one argument.");
// return;
// }
args = new String[] {"cmd", "/c", "dir", "C:\\"};
ProcessBuilder processBuilder = new ProcessBuilder(args);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
copy(process.getInputStream(), System.out);
process.waitFor();
System.out.println("Exit Status : " + process.exitValue());
}
于 2012-08-09T23:36:19.137 に答える
1
Apache Commons には、この種のものを処理するために構築されたライブラリがあります。このようなものを手作業でコーディングする前に、それについて知っていたらよかったのにと思います。後で見つけました。コマンド ライン プログラムのさまざまな形式のオプションを使用します。
于 2012-08-10T01:01:01.223 に答える