Input bekommt und output aus einer jar-Datei ausführen von java-Klasse?

Ich habe eine jar-Datei, in der dieser code ausgeführt wird:

public class InputOutput {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        boolean cont = true;
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        while (cont) {
            System.out.print("Input something: ");
            String temp = in.readLine();
            if (temp.equals("end")) {
                cont = false;
                System.out.println("Terminated.");
            }
            else
                System.out.println(temp);
        }
    }
}

Möchte ich das Programm ein anderes java-Klasse, die ausgeführt wird, diese jar-Datei und können das Eingangs-und send-Ausgang. Ist es möglich? Der aktuelle code, den ich habe, ist dieses aber es funktioniert nicht:

public class JarTest {

    /**
     * Test input and output of jar files
     * @author Jack
     */
    public static void main(String[] args) {
        try {
            Process io = Runtime.getRuntime().exec("java -jar InputOutput.jar");
            BufferedReader in = new BufferedReader(new InputStreamReader(io.getInputStream()));
            OutputStreamWriter out = new OutputStreamWriter(io.getOutputStream());
            boolean cont = true;
            BufferedReader consolein = new BufferedReader(new InputStreamReader(System.in));
            while (cont) {
                String temp = consolein.readLine();
                out.write(temp);
                System.out.println(in.readLine());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Vielen Dank für Ihre Hilfe

Welcher Teil funktioniert nicht? Welche Plattform verwenden Sie?
Ich bin mit Linux. Ich brauchen, um diese jar-Datei in einem separaten Prozess, weil für das eigentliche Programm, ich bin mit jemand anderes Glas, dass ich nicht den source-code. Dieses Programm gibt den text wenn bei einer bestimmten Eingabe. Das ist, warum ich erstellt habe IntputOutput, Spiegel, Glas Verhalten.
Ich fügte hinzu, io.waitFor() direkt nach Prozess io = Runtime.getRuntime().exec("java-jar InputOutput.jar"); und ich habe gefunden, dass das Programm nur beendet wird, nach dem ausführen der jar-Datei. Warum tut Sie das?

InformationsquelleAutor Jack L. | 2009-02-14

Schreibe einen Kommentar