读书人

整型视图缓冲区怎么读取字节缓冲区的数

发布时间: 2012-11-07 09:56:10 作者: rapoo

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

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());}}

读书人网 >编程

热点推荐