2012-02-01 19 views
0

ソースコード内でJARファイルをどのように実行しますか?Java内で.JARファイルを実行する方法

私はexeファイルのために、あなたは

try 
{ 
Runtime rt = Rintime.getRuntime() ; 
Process p = rt.exec("Program.exe") ; 
InputStream in = p.getInputStream() ; 
OutputStream out = p.getOutputStream(); 
InputSream err = p,getErrorStram() ; 

//do whatever you want 
//some more code 

p.destroy() ; 
}catch(Exception exc){/*handle exception*/} 

を使用すると、それが同じだけであることを知っている:rt.jar("program.jar")

rt.exec("program.exe")変更またはそれが何か違うのですか?

+0

可能重複[JARファイルを抽出し、(指定したディレクトリにデータを格納することができますJavaプログラムの書き方場所)?](http://stackoverflow.com/questions/1529611/how-to-write-a-java-program-which-can-extract-a-jar-file-and-store-its-data-in -s) – skaffman

+0

私はそうは思わない、それは瓶を動かすことを話している、これは瓶を実行している – Russell

+2

'rt.exec(" java -jar program.jar ")'を試しましたか? – Nishant

答えて

3

あなたは

exec("<path to jar command> -xf program.jar") 

を言う必要がある代わりに、EXEC(「PROGRAM.EXE」)のjarファイルを抽出するために通常のjarコマンドは、binディレクトリにおよびenv変数が正しく設定されていれば使用可能です、あなたもあなたがコンテンツを読むためにjava.util.jar.JarFile APIを使用することができますが、 "javaの-jar program.jar"

0

を言うことができるjarファイルを実行するために( "瓶-xf program.jar")

を 幹部を言うことができますjarファイルの jarファイルからファイルを抽出するためにそれを使用する方法のコードサンプルを次に示します。

File jar = new File("Your_Jar_File_Path") 
    final JarFile jarFile = new JarFile(jar); 
    for (final Enumeration<JarEntry> files = jarFile.entries(); files.hasMoreElements();) 
    { 
     final JarEntry file = files.nextElement(); 
     final String fileName = file.getName(); 
     final InputStream inputStream = jarFile.getInputStream(file); 
     ........ 
     while (inputStream.available() > 0) 
     { 
      yourFileOutputStream.write(inputStream.read()); 
     } 
    } 
+0

@Russell、ああ、コード内からJARファイルを実行したかったのです。私はあなたがその内容を抽出したいと思った。 skaffmanによって編集された後の質問を得ました –

関連する問題