如何在源代码中执行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")
还是有所不同?
答案 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());
}
}