假设
winrar.exe位于中
PATH,则
Runtime.exec能够找到它,如果没有,则需要提供到它的完全限定路径,例如,假设
winrar.exe已安装在其中,则
C:/ProgramFiles/WinRAR需要使用类似…
p=r.exec("C:/Program Files/WinRAR/winrar x h:\myjar.jar *.* h:\new");就个人而言,我建议您使用
ProcessBuilder它,因为它除其他功能外还具有一些其他配置功能。在可能的情况下,还应将命令和参数分成单独的
String元素,例如,与空格相比,它处理的空间要好于单个
String变量。
ProcessBuilder pb = new ProcessBuilder( "C:/Program Files/WinRAR/winrar", "x", "myjar.jar", "*.*", "new");pb.directory(new File("H:/"));pb. redirectErrorStream(true);Process p = pb.start();不要忘记
InputStream从流程中读取内容,否则可能会导致流程停顿



