问题描述:
  有两个Java应用程序,Prog1和Prog2. Pro1是别人已经写好的程序(没有源码),Pro2是我自己要完成的程序.Pro2的主要功能是 当Prog1启动后,Pro2可以自动完成Prog1中要用户输入的部分.求解决思路,需要用的包.

解决方案 »

  1.   

    Prog2,你要写的程序package com.test;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;public class Prog2{ public static void main(String[] args) { Process p = null;
    try {
    p = Runtime.getRuntime().exec("java com.test.Prog1"); OutputStream ops = p.getOutputStream();
    ops.write("gogogogogogo\r\n".getBytes());//这里完成Pro1要的输入
    ops.close();                        //以下是Pro1的输出(测试用)
    InputStream ips = p.getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(ips));
    String str = br.readLine();
    while (str != null) {
    System.out.println(str);
    str = br.readLine();
    }
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if (null != p) {
    p.destroy();
    }
    }
    }
    }Pro1:只写了一个简单的输入输出功能(测试用)package com.test;import java.io.IOException;public class Pro1{ public static void main(String[] args) { try {
    for (int i = 0; i < 10; i++) {
    System.out.print((char) System.in.read());
    }
    } catch (IOException e) {
    e.printStackTrace();
    }finally{
    System.out.println("\nfinished");
    } }}
      

  2.   

    结果:
    E:\workspace\TestEverying\bin>java com.test.TestRuntime
    gogogogogo
    finished
    E:\workspace\TestEverying\bin>
      

  3.   

    是我没有说清楚.
    谢谢 xukejun_BabyYPro1是Swing程序,要输入的是文本框,密码框这类的.