vert.x中的buffer简介
来源:互联网 发布:json key 排序 编辑:程序博客网 时间:2024/05/19 09:12
本文之所以要对vert.x中的buffer做简介,主要是因为它对于vert.x来说很重要,例如当verticle要对http请求来的数据(data block)进行处理,或者将数据response给前端,都需要buffer来处理。
创建Buffer
可以通过Buffer接口的static方法buffer()创建一个Buffer对象
Buffer buffer = Buffer.buffer();
也可以在创建时传入byte[]数据参数
byte[] data = new byte[]{a,b,c};Buffer buffer = Buffer.buffer(data);
还有可以通过传入字符串构造一个Buffer对象
Buffer buffer = Buffer.buffer("initial String");
还可以在传入字符串的时候指定编码
Buffer buffer = Buffer.buffer("initial data", "UTF-8");
上面的写法等同于
Buffer buffer = Buffer.buffer("initial data".getBytes("UTF-8"));
Buffer有length()方法可以获取它的长度。
写数据到Buffer
Buffer buffer = Buffer.buffer();System.out.println("buffer.length() = " + buffer.length());buffer.setByte ( 0, (byte) 127);buffer.setShort ( 2, (short) 127);buffer.setInt ( 4, 127);buffer.setLong ( 8, 127);buffer.setFloat (16, 127.0F);buffer.setDouble(20, 127.0D);System.out.println("buffer.length() = " + buffer.length());
往buffer中写入数据可以通过set…方式,buffer会自适应添加的多少变化长度。
也可以通过append()方法往buffer中添加数据
Buffer buffer = Buffer.buffer();System.out.println("buffer.length() = " + buffer.length());buffer.appendByte ((byte) 127);buffer.appendShort ((short) 127);buffer.appendInt ( 127);buffer.appendLong ( 127);buffer.appendFloat ( 127.0F);buffer.appendDouble( 127.0D);System.out.println("buffer.length() = " + buffer.length());
append()方法不需要索引(index)参数,它会添加数据到尾部,
上面两种方式添加完之后,打印的length并不相同,请读者自行体会。
从Buffer读数据
byte aByte = buffer.getByte ( 0);short aShort = buffer.getShort ( 2);int anInt = buffer.getInt ( 4);long aLong = buffer.getLong ( 8);float aFloat = buffer.getFloat (16);double aDouble = buffer.getDouble(20);
可以看到Buffer提供了很方便的数据操作方法。
0 0
- vert.x中的buffer简介
- Vert.x 简介
- Vert.x 内核模块 Buffer( 四 )
- Vert.x中EventBus中的使用
- Vert.x
- Vert.x
- Vert.x 3---Vert.x 实现REST
- vert.x笔记:1.vert.x介绍
- Vert.x开发指南
- Vert.x安装指南
- Vert.x特性
- vert.x event bus
- vert.x入门
- Verticle in Vert.x
- Vert.x一些概念
- Vert.x module概念
- # vert.x学习笔记
- Vert.x开篇
- TCP和UDP
- iOS_开发_工具_mac下加密文件
- Swift学习 类、属性、方法的介绍
- 【特种兵PPT教程】如何巧用SmartArt设计自己想要的图表?
- 【黑马程序员】【OC语言】继承
- vert.x中的buffer简介
- Struts2-访问web 资源
- 背包问题4:另类01背包问题
- 【黑马程序员】【OC语言】多态
- CVPR 2015 Oral概览 - 第二天下午
- 黑马程序员——OC---MRC里的循环retain问题
- LeetCode OJ10 Regular Expression Matching
- 选择算法
- Leetcode93: Minimum Path Sum