Método Java Lang Runtime exec() en Java

Sheeraz Gul 12 octubre 2023
Método Java Lang Runtime exec() en Java

Este tutorial demuestra el método Runtime.exec() de Java.

Java Lang Runtime exec() Método en Java

La clase Java Lang Runtime se utiliza para la interacción entre cada aplicación Java con una instancia de clase en tiempo de ejecución y la interfaz del entorno. El método Runtime.getRuntime.exec() se utiliza para ejecutar un comando de cadena en un proceso.

El método Runtime.exec() se puede implementar de las siguientes formas:

Método Acción
exec(String cmd) Esto se usa para ejecutar un comando de cadena en un proceso.
exec(Cadena[] cmd) Esto se usa para ejecutar comandos específicos con argumentos en un proceso.
exec (comando de cadena, cadena [] envp, directorio de archivo) Esto se usa para ejecutar un comando de una sola cadena en un proceso con un entorno y directorio específicos.
exec (comando de cadena, cadena [] envp) Esto se usa para ejecutar un comando de una sola cadena en un proceso con un entorno específico.
exec(String[] cmdarray, String[] envp, Archivo dir) Esto se usa para ejecutar comandos de cadena con argumentos en un proceso con un entorno y directorio específicos.
exec(String[] cmdarray, String[] envp) Esto se usa para ejecutar comandos de cadena con argumentos en un proceso con un entorno específico.

Probemos un ejemplo para implementar el método Runtime.exec() en Java:

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();
    }
  }
}

El código anterior ejecuta el método Runtime.getRuntime.exec() con el comando java -version y obtiene el resultado en la consola. Ver salida

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