javaを使用してコマンドプロンプトで "time"コマンドを実行する必要があります。問題は、時間を表示した後、新しい時間を設定するよう求めていることです。 "dir"や "cd"や "ver"のようなコマンドを正常に実行できます。しかし、 "date"や "time"のようなユーザからの入力を要求するコマンドは完全に実行できません。ここでは、コードは次のとおりです。javaを使用してcmdで "time"コマンドを実行
try {
Process p = Runtime.getRuntime().exec("cmd /c time");
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
} catch (IOException e1) {} catch (InterruptedException e2) {}
私はCMD以来、それはストリームがまだ終了していないことを考えて、そのプログラムの実行が停止したことがないので、したがって、それは入力ストリームで読み取ることができない、入力を求めていると思われます。 それで、私が探しているのは、新しい時間を入力して、それがある場合にはその出力を表示する方法です。
実行されたバッチコマンドに*/t *オプションを追加できますか? –
なぜですか? Javaをネイティブに使用して時間を稼ぐAPIを使用してみませんか? –
@MarioSantiniは、ユーザーが新しい時刻を入力することを許可しません。そして私は新しい時間に入ることができるようにしたい。 –