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 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