Java NIO系列教程(十一) Pipe
来源:互联网 发布:金承志 知乎 编辑:程序博客网 时间:2024/05/04 12:07
作者:Jakob Jenkov 译者:黄忠 校对:丁一
Java NIO 管道是2个线程之间的单向数据连接。Pipe
有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。
这里是Pipe原理的图示:
创建管道
通过Pipe.open()
方法打开管道。例如:
String newData = "New String to write to file..." + System.currentTimeMillis();ByteBuffer buf = ByteBuffer.allocate(48);buf.clear();buf.put(newData.getBytes());buf.flip();while(buf.hasRemaining()) { sinkChannel.write(buf);}
从管道读取数据
从读取管道的数据,需要访问source通道,像这样:
Pipe.SourceChannel sourceChannel = pipe.source();调用source通道的
read()
方法来读取数据,像这样:ByteBuffer buf = ByteBuffer.allocate(48);int bytesRead = sourceChannel.read(buf);
read()
方法返回的int值会告诉我们多少字节被读进了缓冲区。 0 0
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- Java NIO系列教程(十一) Pipe
- 看什么书,炒什么股(一)
- 获得WebRoot的物理路径
- iOS xmpp
- 内存映射文件原理探索——虽然是linux下的,不过可以借鉴
- 自己做的私人助手小程序
- Java NIO系列教程(十一) Pipe
- 控制空间光调制器(SLM)的不同控制方法小结
- 58程序管理器的简单UI
- 转 - 微信连WIFI,背后大棋局
- Leetcode: Compare Version Numbers
- 使用pymysql在python中对mysql的增删改查操作(综合)
- 一键执行更新密文密码到指定目录下的所有文件, 附单元测试
- Java NIO系列教程(十二) Java NIO与IO
- 『ANDROID』Android---ListView只显示一行的解决方案