En Java, envoyer des commandes à un autre programme de ligne de commande

Je suis à l'aide de Java sur Windows XP et que vous voulez être en mesure d'envoyer des commandes à un autre programme tel que telnet.
Je ne veux pas simplement exécuter un autre programme. Je veux l'exécuter, et puis de l'envoyer à une séquence de commandes une fois qu'il est en cours d'exécution.
Voici mon code de ce que je veux faire, mais il ne fonctionne pas:
(Si vous supprimez et modifiez la commande "cmd" il fonctionne comme prévu. S'il vous plaît aider.)
C'est un exemple simplifié. En production, il y aura beaucoup plus de commandes envoyées, veuillez vous suggère de ne pas appeler "telnet localhost".

    try
    {
        Runtime rt = Runtime.getRuntime();

        String command = "telnet";
        //command = "cmd";
        Process pr = rt.exec(command);

        BufferedReader processOutput = new BufferedReader(new InputStreamReader(pr.getInputStream()));
        BufferedWriter processInput = new BufferedWriter(new OutputStreamWriter(pr.getOutputStream()));

        String commandToSend = "open localhost\n";
        //commandToSend = "dir\n" + "exit\n";

        processInput.write(commandToSend);
        processInput.flush();

        int lineCounter = 0;
        while(true)
        {
            String line = processOutput.readLine();
            if(line == null) break;
            System.out.println(++lineCounter + ": " + line);
        }

        processInput.close();
        processOutput.close();
        pr.waitFor();
    }
    catch(Exception x)
    {
        x.printStackTrace();
    }
Donc, vous voulez une inter processus de solution de communication pour java?
Il me semble que telnet est l'écriture de sa sortie à quelque chose d'autre que le processus du flux d'entrée, et java n'est pas de la capture. C'est le Procédé.getInputStream() la seule méthode pour lire ce qu'un processus est sortie?

OriginalL'auteur bradvido | 2010-05-20