Java で外部プログラムを実行する方法: プロセス インターフェイスのガイド?

Mary-Kate Olsen
リリース: 2024-11-20 03:16:02
オリジナル
310 人が閲覧しました

How to Execute External Programs in Java: A Guide to the Process Interface?

Java でのプロセスの開始

System.Diagnostics.Process.Start("processname" を使用してプロセスが起動される .Net フレームワークに似ています)

Java プロセス インターフェイス

Java では、Runtime クラスはプロセスを開始するための exec() メソッドを提供します。構文は次のとおりです。

Process p = Runtime.getRuntime().exec("processname");
ログイン後にコピー

ここで、「プロセス名」は、起動する実行可能ファイルまたはコマンドを表します。

クロスプラットフォーム互換性

達成するにはクロスプラットフォーム互換性があるため、System クラスを使用して現在のオペレーティング システムを特定し、それに応じてプロセスの起動を調整できます。たとえば、Windows システムでは、実行可能ファイル名の前に「%windir%system32」パスを使用できます。

プロセスの入力と出力

Process クラスは入力を提供します。実行中のプロセスと通信するための出力ストリーム。 getInputStream() メソッドと getOutputStream() メソッドを使用して、これらのストリームにアクセスできます。

チュートリアルの例

提供されている Java コードは、コマンド ツリーを起動する方法を示しています。 Windows システムの /A:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.file.Paths;

public class CmdExec {

  public static void main(String[] args) {
    try {
      Process p = Runtime.getRuntime().exec(
          Paths.get(System.getenv("windir"), "system32", "tree.com /A").toString()
      );

      try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
        String line;

        while ((line = input.readLine()) != null) {
          System.out.println(line);
        }
      }

    } catch (Exception err) {
      err.printStackTrace();
    }
  }
}
ログイン後にコピー

このコードは、/A オプションを指定してツリー コマンドを起動し、ディレクトリのリストをツリー形式で表示します。コマンドからの出力が読み取られて、コンソールに出力されます。

以上がJava で外部プログラムを実行する方法: プロセス インターフェイスのガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート