Java は、ランタイム環境内からシステム コマンドを実行する機能を提供します。これは、基盤となるオペレーティング システム上でさまざまな操作を実行する場合に役立ちます。このガイドでは、Linux および BSD システムの Java でシステム コマンドを実行する方法について説明します。
開発者は、Java プログラム内から uname -a コマンドを実行し、保存したいと考えています。文字列での出力。彼らが提供するコード スニペットはこれを実行しようとしますが、いくつかの問題が発生します。
Java でシステム コマンドを実行するには、Runtime.exec() メソッドを使用できます。このメソッドは、実行するコマンドを文字列として引数として受け取ります。コマンドが実行されると、コマンドの標準出力ストリームから出力を取得できます。
ここでは、uname -a を実行し、出力を文字列に保存する方法の例を示します。
<code class="java">Runtime r = Runtime.getRuntime(); Process p = r.exec("uname -a"); p.waitFor(); BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = ""; while ((line = b.readLine()) != null) { System.out.println(line); } b.close();</code>
このコードは最初に Runtime オブジェクトを作成します。次に、Runtime オブジェクトの exec() メソッドを使用して、uname -a コマンドを実行します。 exec() メソッドは、実行中のプロセスを表す Process オブジェクトを返します。
Process オブジェクトの入力ストリームから読み取ることで、コマンドからの出力を取得できます。コード スニペットでは、BufferedReader を使用して出力を 1 行ずつ読み取ります。その後、出力はデモンストレーション目的でコンソールに出力されます。
このアプローチに従うことで、Java 内から有効なシステム コマンドを実行し、その出力をプログラムのロジックで利用できます。
以上がJava でシステム コマンドを実行し、出力をキャプチャする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。