Мне нужно открыть файл .exe из моей программы Java. Поэтому я попробовал следующий код First.
Process process = runtime.exec("c:\\program files\\test\\test.exe");
Но я получал некоторую ошибку. Затем я узнал, что exe должен быть запущен из этого местоположения, которое является c://программными файлами/test/только тогда оно будет открыто с ошибками. Поэтому я решил написать .bat файл и выполнить его так, чтобы он подключился к этому месту и выполнил файл .exe.
Ниже приведен мой код:
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();
}
Приведенный выше код работает отлично. Однако командная строка также открывается в конце моего .exe(Application). Он закрывается только после выхода EXE файла.
Мне нужно выполнить команду командной строки, когда моя статистика приложения.
Мой .bat файл будет выглядеть следующим образом после его написания программой.
cd\
cd C:\Program Files\test\
test.exe
exit