使用xterm与java

时间:2013-11-25 09:00:00

标签: java linux xterm

首先,我发现了很多关于xterm和java的问题,但没有问题直接处理我的问题。

我的问题是什么? 我想从java启动一个xterm终端,我想向这个终端发送命令。 首先,我只想更改目录,但它不起作用。但重要的是,我不知道程序开头的所有命令,因此建议我在运行时向终端发送命令。

这是我的代码:

String[] command= {"xterm"}; 
    Runtime rt = Runtime.getRuntime();  
    Process pr = rt.exec(command);

    Thread.sleep(2000);

    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    ReadThread input = new ReadThread(in);
    input.start();

    BufferedReader error = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
    ReadThread inputError = new ReadThread(error);
    inputError.start();

    PrintWriter printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(pr.getOutputStream())),true);
    printWriter.println("cd /home/***/sipp/sipp-3.3\n");
    Thread.sleep(2000);

    input.die();
    inputError.die();
    printWriter.close();
    error.close();
    in.close();
    pr.destroy();

我认为终端将打开(它确实)并在2秒后将目录更改为sipp-3.3。另外2秒后,xterm应该关闭(确实如此)。 但问题是什么,我的命令不起作用? 请我不想找到像

这样的解决方案
String [] gggg = {"xterm", "-c", "multiple commands, with |, &&, ; etc"};
rt.exec(gggg);

因为使用这样的解决方案,我无法向终端发送更多命令。 非常感谢提前!

0 个答案:

没有答案