ファイル(exe)はJARファイル内にあり、Launch4jを使用してEXEにラップされています。JavaでラップされたJarからファイルを抽出する方法
私の実行ファイル(EXEに包まれたJARファイル):
myProgram.exe
実行可能ファイルの場所
サブPROGRAM.EXEを実行する(または一時ディレクトリに解凍)する方法myProgram.exe/program.jar/resources/sub-program.exe
とパラメータで実行しますか?包まれたJarファイルからファイルを抽出する方法
String exeLocation = System.getProperty("java.io.tmpdir") + "sub-program.exe";
String params = " -f -q";
ProcessBuilder process = new ProcessBuilder("cmd.exe", "/c", exeLocation + params);
:サブプログラムが一時にファイルだった場合sub-program.exe -f -q
、私はそれを実行するだろうか?私はラップされたJARファイルの中でそれを実行する方法がないと思います。
私は本当に面白い方法でSub-Program.exeからバイトを取得してからFOSを使って書きましたが、これよりも良い方法があると思います。 –
これは標準的な方法です。 Apache Commons IOを使用するようないくつかの定型コードを保存できるユーティリティがいくつかあります。「IOUtils.copy(inputStreeam、yourFos)」 –
私はそれを動作させました。ありがとうございます。 –