Necesito iniciar un archivo ejecutable externo de tal manera que el usuario pueda interactuar con el programa que acaba de iniciar.Iniciar el ejecutable externo desde el código de Java con la redirección de secuencias
Por ejemplo, en OpenSuse Linux hay un administrador de paquetes - Zypper. Puede iniciar zypper en modo comando y asignarle comandos como instalar, actualizar, eliminar, etc.
Me gustaría ejecutarlo desde el código de Java de una manera que el usuario pueda interactuar con él: comandos de entrada y ver resultados y errores del programa que comenzó.
Aquí hay un código Java Traté de usar:
public static void main(String[] args) throws IOException, InterruptedException {
Process proc = java.lang.Runtime.getRuntime().exec("zypper shell");
InputStream stderr = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
char ch;
while ((ch = (char)br.read()) != -1)
System.out.print(ch);
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
}
Pero por desgracia sólo se puede ver que es la salida:
zypper>
pero no importa lo que escribo, mi entrada no afecta programa que se inició. ¿Cómo puedo hacer lo que quiero?
Gracias por su respuesta. ¡Eso ayudó! –