Tengo que abrir un archivo .exe de mi programa Java. Así que intenté seguir el código Primero.Ejecutar archivo .exe en Java desde la ubicación del archivo
Process process = runtime.exec("c:\\program files\\test\\test.exe");
Pero me estaba dando un error. Luego descubrí que el exe debe iniciarse desde esa ubicación que es c: // archivos de programa/prueba/solo entonces se abrirá sin errores. Así que decidí escribir un archivo .bat y ejecutarlo para que se copie a esa ubicación y ejecute el archivo .exe.
que sigue es mi código:
BufferedWriter fileOut;
String itsFileLocation = "c:\\program files\\test\\"
System.out.println(itsFileLocation);
try {
fileOut = new BufferedWriter(new FileWriter("C:\\test.bat"));
fileOut.write("cd\\"+"\n");
fileOut.write("cd "+ itsFileLocation +"\n");
fileOut.write("test.exe"+"\n");
fileOut.write("exit"+"\n");
fileOut.close(); // Close the output stream after all output is done.
} catch (IOException e1) {
e1.printStackTrace();
} // Create the Buffered Writer object to write to a file called filename.txt
Runtime runtime = Runtime.getRuntime();
try {
Process process =runtime.exec("cmd /c start C:\\test.bat");
} catch (IOException e) {
e.printStackTrace();
}
El código anterior funciona perfectamente. Sin embargo, el símbolo del sistema también se abre en la parte posterior de mi .exe (Aplicación). Se cierra solo después de que el archivo .exe sale ...
Necesito clicar el símbolo del sistema cuando las estadísticas de mi aplicación.
Mi archivo .bat será como seguir después de haber sido escrito por el programa.
cd\
cd C:\Program Files\test\
test.exe
exit
Java interpretará correctamente '/' como un archivo separador en windows - al menos en Windows 7. – Dunes
Hay Gracias voy a intentar y le dejo saber en pocos minutos ... –
Hay gracias funcionó .. –