HOWTO · Java

Java Lang Runtime exec() Methode in Java

Dieses Tutorial demonstriert die Laufzeitmethode exec() in Java.

Dieses Tutorial demonstriert die Methode Runtime.exec() von Java.

Java Lang Runtime exec()-Methode in Java

Die Java-Lang-Laufzeitklasse wird für die Interaktion zwischen jeder Java-Anwendung mit einer Instanz der Klassenlaufzeit und der Umgebungsschnittstelle verwendet. Die Methode Runtime.getRuntime.exec() wird verwendet, um einen String-Befehl in einem Prozess auszuführen.

Die Methode Runtime.exec() kann auf folgende Arten implementiert werden:

Methode Aktion
exec(Zeichenfolge cmd) Dies wird verwendet, um einen Zeichenfolgenbefehl in einem Prozess auszuführen.
exec(String[] cmd) Dies wird verwendet, um bestimmte Befehle mit Argumenten in einem Prozess auszuführen.
exec(String-Befehl, String[] envp, Dateiverzeichnis) Dies wird verwendet, um einen einzelnen Zeichenfolgenbefehl in einem Prozess mit einer bestimmten Umgebung und einem bestimmten Verzeichnis auszuführen.
exec(String-Befehl, String[] envp) Dies wird verwendet, um einen einzelnen Zeichenfolgenbefehl in einem Prozess mit einer bestimmten Umgebung auszuführen.
exec(String[] cmdarray, String[] envp, Dateiverzeichnis) Dies wird verwendet, um Zeichenfolgenbefehle mit Argumenten in einem Prozess mit einer bestimmten Umgebung und einem bestimmten Verzeichnis auszuführen.
exec(String[] cmdarray, String[] envp) Dies wird verwendet, um Zeichenfolgenbefehle mit Argumenten in einem Prozess mit einer bestimmten Umgebung auszuführen.

Versuchen wir ein Beispiel, um die Methode Runtime.exec() in Java zu implementieren:

package delftstack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

// Main class
public class Example {
  // Main driver method
  public static void main(String[] args) throws InterruptedException {
    try {
      // Use Runtime.getRuntime.exec on a separate process
      Process Demo_Process = Runtime.getRuntime().exec("java -version");

      // Get the output in the console

      String Output_Line;
      InputStreamReader Input_Stream_Reader = new InputStreamReader(Demo_Process.getInputStream());
      BufferedReader Buffered_Reader = new BufferedReader(Input_Stream_Reader);
      while ((Output_Line = Buffered_Reader.readLine()) != null) {
        System.out.println(Output_Line);
      }

      Input_Stream_Reader = new InputStreamReader(Demo_Process.getErrorStream());
      Buffered_Reader = new BufferedReader(Input_Stream_Reader);
      while ((Output_Line = Buffered_Reader.readLine()) != null) {
        System.out.println(Output_Line);
      }
      // Wait for the process to complete
      Demo_Process.waitFor();

    } catch (IOException ex) {
      ex.printStackTrace();
    }
  }
}

Der obige Code führt die Methode Runtime.getRuntime.exec() mit dem Befehl java -version aus und erhält die Ausgabe in der Konsole. Siehe Ausgabe

java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)