地区分类 数组 Java NIO 缓冲区基础二(6)

电脑杂谈  发布时间:2017-02-15 00:05:01  来源:网络整理

这里需要注意的是:如果get或者是put时,数据不足,或者空间不够,都会发生异常。

如果不是用putXX的方法,直接getXX,那么可能产生意想不到的问题。

7、无符号数存取

对于java来说,没有无符号数处理(除了char)。为此,书中给出一个程序,用来处理无符号数缓冲区。

其基本原理是,使用比要存取的数据类型更大的数据类型来存放这个数,同时使用与运算强制设置符号位为0,剩余的位就可以作为数据而不是符号位了。

public class Unsigned
{
public static short getUnsignedByte (ByteBuffer bb) {
    return ((short)(bb.get( ) & 0xff)); 
}
public static void putUnsignedByte (ByteBuffer bb, int value) {
    bb.put ((byte)(value & 0xff));
 }
...
}

这里省略了其他部分。这样我们就可以看到带符号的

8、内存映射缓冲区

映射缓冲区是与文件存储的数据元素关联的字节缓冲区,它通过内存映射来访问。映射缓

冲区通常是直接存取内存的,只能通过 FileChannel 类创建。映射缓冲区的用法和直接缓冲

区类似,但是 MappedByteBuffer 对象具有许多文件存取独有的特征。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32465-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 吕让
      吕让

      而你塔魔的是挑战整个人类的秩序

    • 周顷王姬壬臣
      周顷王姬壬臣

      有病的才是你

    • 罗佳佳
      罗佳佳

      有本事联合国让中国说了算在中国办公

      • 李可欣
        李可欣

        我估计很多还是雇佣的

    热点图片
    拼命载入中...