2013-08-17 50 views
1

我可以通過Runtime.getRuntime().exe(filePath)在運行時運行exe文件,但是這似乎只適用於jar外的外部exe文件。我想運行一個我已經打包在jar中的exe文件。我將如何做到這一點?我相信這是一個jar加載函數,因爲我已經看到使用jar中的文件名稱以相同的方式加載它的代碼,但是這會爲我返回一個IO錯誤。在java中運行一個內部exe文件

+0

你可以參考這兩個有用的職位。 http://stackoverflow.com/questions/600146/run-exe-which-is-packaged-inside-jar 或 http://stackoverflow.com/questions/10896475/unable-to- load-image-from-jar 謝謝 –

回答

1

您可以將它複製到jar文件外的臨時位置,我認爲這是可能的。

+1

確實有可能。最短的方法可能是這樣的:Path.exe = Files.createTempFile(null,「.exe」); Files.copy(MyApplication.class.getResourceAsStream(「/ MyProgram.exe」),exe,StandardCopyOption.REPLACE_EXISTING);新的ProcessBuilder(exe.toString())。redirectOutput(ProcessBuilder.Redirect.INHERIT).start();' – VGR