Exécuter .exe fichier en Java à partir de l'emplacement du fichier

- Je ouvrir un .fichier exe de mon programme Java. J'ai donc essayé de suivre le Premier code.

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

Mais j'obtenais une erreur. Ensuite, j'ai trouvé que le fichier exe a être lancé à partir de cet emplacement qui est c://program fichiers/test/seulement alors il sera ouvert avec des erreurs. J'ai donc décidé d'écrire .le fichier bat et exécuter de sorte qu'il sera de cd à cet emplacement et exécutez le .exe fichier.

Voici mon code:

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();
    }

Le code ci-dessus fonctionne parfaitement. Cependant, l'invite de commande est également ouvert à l'arrière de ma .exe (Application). Il se ferme qu'après l' .exe fichier de sorties..

J'ai besoin de clse mon invite de commande lorsque mon application stats.

Mon .fichier bat sera comme suit après il est écrit par le programme.

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

OriginalL'auteur Dilip Rajkumar | 2012-05-21