你如何在java中执行.JAR文件

时间:2012-02-01 09:31:19

标签: java jar

如何在源代码中执行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.exec("program.exe")更改为rt.jar("program.jar")还是有所不同?

2 个答案:

答案 0 :(得分:3)

要提取jar文件而不是exec(“program.exe”),您需要说

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

通常jar命令在bin目录中可用,如果正确设置了env变量,你甚至可以说     exec(“jar -xf program.jar”)

要运行jar文件,您可以说“java -jar program.jar”

答案 1 :(得分:0)

您可以使用java.util.jar.JarFile API来读取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());
        }
    }