public class ReadStandered { public static void main(String[] args) {
System.out.println("hello world!"); }
}
public class WriteToProcess {
public static void main(String[] args) throws Exception {
PrintStream ps = null;
BufferedReader br = null;
Process p = null; p = Runtime.getRuntime().exec("java ReadStandard");
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String buff = null;
while((buff=br.readLine())!=null){
System.out.println(buff);
}
br.close();
}
}

解决方案 »

  1.   

    br.readLine() 读不出数据   ,程序就阻塞了
      

  2.   

    我将子进程的程序改为public static void main(String[] args) throws Exception {
      String ret = "I am your son";               
            //返回消息给父程序   
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
            bw.write(ret) ; 
            bw.flush();  
            bw.close();   }
    可还是阻塞,父进程读不到数据
      

  3.   

    p = Runtime.getRuntime().exec("java ReadStandard");1. 类名写错了,低级错误
    2. 修改类名后如果还是有错,先打印p.getErrorStream()的内容就可以知道问题出在哪快