Java Lang Runtime exec() Methode in Java

Sheeraz Gul 12 Oktober 2023
Java Lang Runtime exec() Methode 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)
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook