NIO之管道 (Pipe)详解编程语言

Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。

NIO之管道 (Pipe)详解编程语言

代码使用示例:

复制代码
 1 @Test 
 2     public void testPipe() throws IOException { 
 3         // 1、获取通道 
 4         Pipe pipe = Pipe.open(); 
 5  
 6         // 2、获取sink管道,用来传送数据 
 7         Pipe.SinkChannel sinkChannel = pipe.sink(); 
 8  
 9         // 3、申请一定大小的缓冲区 
10         ByteBuffer byteBuffer = ByteBuffer.allocate(1024); 
11         byteBuffer.put("123232142345234".getBytes()); 
12         byteBuffer.flip(); 
13  
14         // 4、sink发送数据 
15         sinkChannel.write(byteBuffer); 
16  
17         // 5、创建接收pipe数据的source管道 
18         Pipe.SourceChannel sourceChannel = pipe.source(); 
19         // 6、接收数据,并保存到缓冲区中 
20         ByteBuffer byteBuffer2 = ByteBuffer.allocate(1024); 
21         byteBuffer2.flip(); 
22         int length = sourceChannel.read(byteBuffer2); 
23  
24         System.out.println(new String(byteBuffer2.array(), 0, length)); 
25  
26         sourceChannel.close(); 
27         sinkChannel.close(); 
28  
29     }
复制代码

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/15740.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论