java nio pipe_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 }
java nio pipe_NIO之管道 (Pipe)详解相关推荐
- JAVA NIO缓冲区(Buffer)------ByteBuffer常用方法详解
缓冲区(Buffer) 缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区: 使用缓冲区有这么两个好处: 1.减少实际 ...
- linux管道pipe详解
管道 管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递.调用pipe系统函数即可创建一个管道.有如下特质: 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个 ...
- Java NIO学习篇之PosixFilePermission详解
定义: PosixFilePermission是一个枚举类,代表着文件的基本权限. public enum PosixFilePermission {/*** 文件所有者的读权限*/OWNER_REA ...
- Java NIO学习篇之StandardOpenOption详解
定义: StandardOpenOption是一个枚举类,代表着文件连接时的标准选项.通常可以多个选项一起使用. public enum StandardOpenOption implements O ...
- python popen阻塞_对Python subprocess.Popen子进程管道阻塞详解
问题产生描述 使用子进程处理一个大的日志文件,并对文件进行分析查询,需要等待子进程执行的输出结果,进行下一步处理. 出问题的代码 # 启用子进程执行外部shell命令 def __subprocess ...
- java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java中的异常和处理详解
Java中的异常和处理详解 参考文章: (1)Java中的异常和处理详解 (2)https://www.cnblogs.com/lulipro/p/7504267.html 备忘一下.
- java string()函数_转载java String.split()函数的用法详解
转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...
最新文章
- oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
- javascript判断数组是否包含了指定的元素
- Linux 性能分析工具总结
- webstorm下debug调试react js程序
- 【Linux网络编程】原始套接字能干什么?
- 华为服务器故障灯不开机_华为服务器日常维护及故障处理介绍V.ppt
- java mysql读取多条数据_myeclipse 使用Java访问mysql数据库,数据库中有多条记录,为何只能读出一条数据??...
- 升级python以及安装anaconda
- 王者归来!华为P40 Pro渲染图曝光:后置矩阵徕卡五摄模组
- Android TextView 使用替换构建出不同样式的字符串
- 编程之美二进制一的个数
- keil转换c为汇编语言,如何用Keil生成bin、汇编、C与汇编混合文件?
- 鸿蒙大陆7.1正式版隐藏英雄,守塔V7.01下载 守塔V7.01正式版 附游戏攻略及隐藏英雄密码 魔兽防守地图 下载-脚本之家...
- ad自动布线过孔_AD15布线方法汇总
- VS2010出现“automation服务器不能创建对象“
- 戴尔计算机管理界面在哪里,戴尔 win10系统控制面板如何打开?
- 大数据下机械智能诊断的机遇与挑战,阅读文献系列(一)
- U盘数据恢复的实现?
- html收藏夹导入mac,Mac浏览器导入其他浏览器收藏-功能说明
- 基于粒子群算法的水电站中长期发电优化调度
热门文章
- linux通过pid查看进程信息
- 实现两视频叠加时上层剪辑透明部分不遮挡下层内容的两种方案
- nvm是做什么的?nvm怎么使用
- library的英语怎么读音_library的英语怎么读音_这样学英语,方法老土,却很有效...
- asp.net工作流开发分享
- 20行python代码入门网络爬虫全流程:使用BeautifulSoup抓取当日人民银行外汇数据
- 启动马达接线实物图_星三角降压启动实物接线图.jpg
- android 内存优化详解
- 哈工大2020秋算法设计与分析大作业(一)
- star ccm java api_Star-CCM+二次开发中常用Java小程序