现在我有一个java的class程序,原来是调用一个JSP来来执行一部分功能并根据返回的输出结果来响应继续执行,但现在执行JSP就是连接超时(需要连接远程服务器),这部分功能改成java的class文件过后立刻就可以执行了,那么现在需要在主程序里调用这个外部的JAVA文件,该怎么做?一种可能的方法是用Runtime.getRuntime().exec()来调用,但是我需要得到程序执行完毕过后的输出字符,然后做后续的操作,可现在怎么得到这个输出呢?或者有没有其他的方式来实行。就是一要调用这个外部程序,让它执行。另外还需要得到返回的字符串值。

解决方案 »

  1.   

    我找到方法了,代码贴出来,也许有人还需要吧
    Process process = Runtime.getRuntime().exec("java test");
    InputStream uin = process.getInputStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(uin));
        String line;
    while ((line = in.readLine()) != null) {
    System.out.println(line);
    }
      

  2.   

    你把uin打印出来,看得懂吗?
      

  3.   

    我打印的是我从程序java test得到的结果,当然这个结果也可以做其他用途,比如记到数据库什么的,这个地方只是一条测试语句而已