一、Pipe管道
Java NIO管道是2个线程之间的单向数据连接,Pipe有一个Source管道和一个Sink管道。数据会被写到sink通道,从source通道读取。
二、案例
@Testpublic void pipeTest() throws IOException {// 1.获取管道Pipe pipe = Pipe.open();// 2.将缓冲区中的数据写入管道ByteBuffer byteBuffer = ByteBuffer.allocate(1024);Pipe.SinkChannel sinkChannel = pipe.sink();byteBuffer.put("通过单向管道发送数据".getBytes());byteBuffer.flip();sinkChannel.write(byteBuffer);// 3.读取缓冲区中的数据Pipe.SourceChannel sourceChannel = pipe.source();byteBuffer.flip();System.out.println(new String(byteBuffer.array(), 0, sourceChannel.read(byteBuffer)));sourceChannel.close();sinkChannel.close();}
