package com.xbb.demo;
import org.junit.Test;
import java.nio.ByteBuffer;
import java.nio.channels.Pipe;
/**
* 单向
*/
public class PipeDemo {
/**
* 单向通道
*/
@Test
public void demo(){
try{
// 创建通道
Pipe pipe = Pipe.open();
// 写通道
Pipe.SinkChannel sink = pipe.sink();
// 读通道
Pipe.SourceChannel source = pipe.source();
// 缓冲区
ByteBuffer buf = ByteBuffer.allocate(1024);
// 向缓冲区写入数据
buf.put("中国".getBytes());
// 切换读写模式
buf.flip();
// 发送数据
sink.write(buf);
buf.flip();
// 接收数据
source.read(buf);
System.out.println(new String(buf.array(),0,buf.limit()));
}catch (Exception e){
e.printStackTrace();
}
}
}
NIO(八) - Pipe通道
最新推荐文章于 2022-09-02 11:09:17 发布