package NIONet;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.Pipe;
public class PipeTest {
public static void main(String[] args) {
test1();
}
public static void test1() {
//1,获取管道
try {
Pipe pipe=Pipe.open();
//2,将缓冲区中的数据写入管道
ByteBuffer buf=ByteBuffer.allocate(1024);
Pipe.SinkChannel sinkChannel=pipe.sink();
buf.put("通过单向通道发送数据".getBytes());
buf.flip();
sinkChannel.write(buf);
//3,读取缓冲区中的数据
Pipe.SourceChannel sourceChannel=pipe.source();
buf.flip();
int len=sourceChannel.read(buf);
System.out.println(new String(buf.array(),0,len));
sourceChannel.close();
sinkChannel.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}