整型视图缓冲区如何读取字节缓冲区的数据?


package com.zhengtian.test;

import java.nio.ByteBuffer;
import java.nio.IntBuffer;

/**
 * @author zhengtian
 * 
 * @date 2011-6-17 下午02:39:24
 */
@SuppressWarnings("all")
public class test {
	public static void main(String[] args) {
		// 创建一个字节缓冲区
		ByteBuffer bb = ByteBuffer.allocate(10);
		// 创建该字节缓冲区的整型视图缓冲区,视图缓冲区与字节缓冲区共享缓冲区元素,但独立维护自己缓冲区的postion、limit、容量等
		IntBuffer ib = bb.asIntBuffer();
		/**
		 * 将字符型变量转换为数值型变量实际上有两种对应关系,在我们在第一部分所说的那种转换中, 实际上是将其转换成对应的ASCII码,但是我们有时还需要另一种转换关系, 例如,‘1’就是指的数值1,而不是其ASCII码,对于这种转换, 我们可以使用Character的
		 * getNumericValue(char ch)方法。
		 * 
		 * 因此將字符'1'、'2'、'3'、'4'存入字节缓冲区时,实际上是存储的二进制形式的49、50、51、52
		 */
		bb.put((byte) '1');
		bb.put((byte) '2');
		bb.put((byte) '3');
		bb.put((byte) '4');

		bb.flip();
		System.out.println(bb.get());
		System.out.println(bb.get());
		System.out.println(bb.get());

		/**
		 * 整型缓冲区在读取数据时,是一次从字节缓冲区中读取4个字节,然后将先读取的字节放在高位,后读取的字节放在低位,最后组合成一个int
		 */
		System.out.println(ib.get());

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值