"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo ejecutar eficazmente programas externos y recuperar su salida en Java?

¿Cómo puedo ejecutar eficazmente programas externos y recuperar su salida en Java?

Publicado el 2024-11-15
Navegar:212

How can I effectively execute external programs and retrieve their output in Java?

Ejecución de programas externos en Java

En su programa Java, está intentando ejecutar un programa externo ("program.exe") usando Runtime.exec( ) método. Si bien no produce errores, el programa parece ser ineficaz.

El código proporcionado utiliza el método Runtime.exec(params) para iniciar el programa externo. Sin embargo, este método tiene limitaciones en el manejo de datos de entrada y salida entre el programa Java y el proceso externo.

Para interactuar efectivamente con un programa externo y recuperar su salida, puede utilizar la clase ProcessBuilder. Aquí hay un ejemplo que demuestra cómo ejecutar el programa "program.exe" con parámetros específicos:

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Users\\user\\Desktop\\program.exe",
        "C:\\Users\\user\\Desktop\\images.jpg", "C:\\Users\\user\\Desktop\\images2.txt");
Process process = processBuilder.start();

InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line;
System.out.println("Output of running program.exe with parameters:");

while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}

En este código, creamos una instancia de ProcessBuilder con los parámetros requeridos. El método start() se utiliza para iniciar el programa externo. Luego usamos un InputStream para leer la salida del programa, lo convertimos en caracteres usando un InputStreamReader y finalmente lo almacenamos en un BufferedReader para facilitar el procesamiento línea por línea.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3