java读写子进程是怎么进行的?

import java.lang.Process ;
import java.io.* ;
import java.util.Scanner ;

public class Test
{
    public static void main(String args[])throws IOException
    {
        Process p = Runtime.getRuntime().exec("java ReadStandard") ;
        try
        (
            PrintStream ps = new PrintStream(p.getOutputStream()); 
        ){
            ps.print("普通字符串普通字符串") ;
            ps.print(new Test()) ;
        }
    }
}

class ReadStandard
{
    public static void main(String args[])
    {
        try
        (
            Scanner sc = new Scanner(System.in) ;
            PrintStream ps = new PrintStream(new FileOutputStream("OUT.txt")) ;
        ){
            sc.useDelimiter("普通") ;
            while(sc.hasNext())
            {
                ps.println("键盘输入的内容为" + sc.next()) ;
            }
        }
        catch (IOException ioe)
        {
            ioe.printStackTrace() ;
        }
    }
}

这里面"p.getOutputStream()"获取的是输出流,这个输出流指的是ReadStandard类的那个输出流?我想了好久没想通这个输出流在哪?而且输出流怎么和子进程ReadStandard进行通信的?

阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题