Запустите файл .exe в Java из расположения файла

Я должен открыть файл .exe из моей программы Java. Сначала я попробовал следующий код.

Process process = runtime.exec("c:\\program files\\test\\test.exe");

Но я получил какую-то ошибку. Затем я обнаружил, что exe-файл должен быть запущен из того места, где находится c: // program files / 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 (приложения). Он закрывается только после выхода из файла .exe

Мне нужно пересмотреть командную строку, когда статистика моего приложения.

Мой файл .bat будет похож на следующий после того, как он будет записан программой.

cd\
cd C:\Program Files\test\
test.exe
exit

Ответы на вопрос(6)

Ваш ответ на вопрос