Я пишу программу в java, которая выполнит winrar и распакует файл jar для меня, помещенный в h:\myjar.jar в папку h:\new. Мой код Java выглядит примерно так:
import java.io.File;
import java.io.IOException;
public class MainClass {
public static void main(String[] args) {
Runtime r=Runtime.getRuntime();
Process p=null;
try {
File dir=new File("C:/Program Files/WinRAR");
p=r.exec("winrar x h:\\myjar.jar *.* h:\\new",null,dir);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Когда я выполняю это, я получаю эту ошибку
java.io.IOException: Cannot run program "winrar" (in directory "C:\Program Files\WinRAR"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at MainClass.main(MainClass.java:16)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 4 more
Может ли кто-нибудь сказать мне, почему я столкнулся с такой проблемой. Какое изменение мне нужно включить в код, чтобы он работал..?