navegador - Ejecutar programa externo en java
runtime.getruntime().exec java (2)
Traté de hacer una aplicación que llama a un programa externo que tengo que pasar dos parámetros. No da ningún error. El programa.exe, escrito en c ++, toma una imagen y modifica el contenido del archivo txt. El programa java se ejecuta pero no hace nada
Aquí está mi código de muestra
String[] params = new String [3];
params[0] = "C://Users//user//Desktop//program.exe";
params[1] = "C://Users//user//Desktop//images.jpg";
params[2] = "C://Users//user//Desktop//images2.txt";
Runtime.getRuntime().exec(params);
Esto no está bien. Here''s explica cómo debe usar Runtime.exec()
. También puedes probar su primo más moderno, ProcessBuilder
:
prestado esto vergonzosamente desde here
Process process = new ProcessBuilder("C://PathToExe//MyExe.exe","param1","param2").start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.printf("Output of running %s is:", Arrays.toString(args));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
Más información here