应用System.out和System.err实现进程间通信

Java IO 包有两个主要部分:
字符流(character stream)0~65535,字符流被称为写入器(writer)和读取器(reader)
字节流(byte stream) -127~128,字节流被称为输入流(inputStream)和输出流(outputStream)
1. 字节流
最基本的类InputStream和OutputStream。
2. 字符流
最基本的抽象类Reader和Writer。
3. 标准流
System.in System.out,System.err 属于字节流。
System.in是一个InputStream对象。System.out和System.err是PrintStream对象。
4.转换流
InputStreamReader和OutputStreamWriter在字符流和字节流中互相转换。“粘合剂”的作用。
5. buffered流
包括BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter.

应用buffered流和标准流实现进程间通信demo:
public class Try {
    public static void main(String[] args) throws IOException {
        BufferedReader reader,br;
        int vuNum =  0;
        String str = null;
        String cmd ="D:\\java_tools\\jdk1.6.0\\bin\\java -Didea.launcher.port=7544 \"-Didea.launcher.bin.path=D:\\Program Files\\JetBrains\\IntelliJ IDEA 11.0.1\\bin\" -Dfile.encoding=UTF-8 -classpath \"D:\\workspace\\thinking\\bin;D:\\java_tools\\jdk1.6.0\\jre\\lib\\alt-rt.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\charsets.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\deploy.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\javaws.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\jce.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\jsse.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\management-agent.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\plugin.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\resources.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\rt.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\ext\\dnsns.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\ext\\localedata.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\ext\\sunjce_provider.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\ext\\sunmscapi.jar;D:\\java_tools\\jdk1.6.0\\jre\\lib\\ext\\sunpkcs11.jar;D:\\Program Files\\JetBrains\\IntelliJ IDEA 11.0.1\\lib\\junit.jar;D:\\Program Files\\JetBrains\\IntelliJ IDEA 11.0.1\\lib\\idea_rt.jar\" com.intellij.rt.execution.application.AppMain thinking.SubProcess";
        Process p = Runtime.getRuntime().exec(cmd);
        reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
        br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        vuNum =Integer.parseInt(reader.readLine());
        str = br.readLine();
        System.out.println(str);
        System.out.println(vuNum);
    }

}

public class SubProcess {
    public static void main(String[] args) throws IOException {
        System.err.println(1025);
        System.out.println("hello,wuche!");

    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值