本帖最后由 郑飞 于 2014-10-25 22:34 编辑
这是PipedInputStream类的说明中的: 通常,数据由某个线程从 PipedInputStream 对象读取,并由其他线程将其写入到相应的 PipedOutputStream。
我看了老毕的代码,后来自己写了个类似的,如下:- package com.itheima.io;
- import java.io.PipedInputStream;
- import java.io.PipedOutputStream;
- import java.util.Arrays;
- public class Test {
- public static void main(String[] args) throws Exception, NoSuchMethodException {
- PipedInputStream pis = new PipedInputStream();
- PipedOutputStream pos = new PipedOutputStream();
- pis.connect(pos);
-
- pos.write("abcd".getBytes());
-
- byte[] buf = new byte[10];
- pis.read(buf);
-
- System.out.println(Arrays.toString(buf));
- pis.close();
- pos.close();
- }
- }
复制代码
正常运行,输出正确:abcd;
PipedInputStream类说明中说,数据流向是从PipedInputStream到PipedOutputStream,可是代码却是相反方向的,这是为什么啊?
|
|