2017-11-28 7 views
-1

私は小さなプログラムで作業しています。私は含まれているプログラムを.exeやその他のものから始めたいと思っています。Java start internalファイル

ボタンを押して内部プログラムを起動する小さなGUIを構築しました。しかし、私の最大の問題は、私はそれをやる方法を知らなかったということです。私は外部ファイルに対していくつかを見つけ出しましたが、内部のものは何も見つかりませんでした。

誰か助けてくれますか?

私はちょうどのようなものの前にしようとした:

String str = this.getClass().getResource("src/tools/.../program.exe").toString(); 
prc = new ProcessBuilder(str).start(); 

しかし、私だけ何かNullPointerExceptionが

答えて

0

が取得しないはあなたが合格java.awt.Desktop

public static void open(File document) throws IOException { 
    Desktop dt = Desktop.getDesktop(); 
    dt.open(document); 
} 

を使用することができますファイルを開くパスをFileオブジェクトとします

0

JARファイルの中からファイルを実行しないでください。それを(一時的な)ディレクトリに展開する必要があります。その後、他のプログラムと同様に実行できます。

+0

ookay。あなたの答えに感謝します。どのように速くそれをするか考えていましたか? (私はプロではありません。私は寺院のディレクトリで何かを抽出する方法がありません) – AkEgo

+0

@AkEgo ['Files.createTempDirectory'](https://docs.oracle.com/javase/8/docs/api/java/) nio/file/Files.html#createTempDirectory-java.nio.file.Path-java.lang.String-java.nio.file.attribute.FileAttribute ...-) – Progman