CreateProcess d'erreur=2, Le système ne peut pas trouver le fichier spécifié

Je suis en train d'écrire un programme en java, ce qui permettrait d'exécuter winrar et décompresser un fichier jar pour moi placé dans h:\myjar.jar dans le dossier h:\new. Mon code java va quelque chose comme ceci

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) {
            e.printStackTrace();
        }
    }
}

Quand j'execute ce, j'obtiens cette erreur

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

Quelqu'un peut me dire pourquoi suis-je rencontre un tel problème. Quel est le changement que j'ai besoin d'intégrer dans le code pour qu'il fonctionne?

Merci u tellement de ur aider...

OriginalL'auteur Trijit | 2013-10-27