【MappedByteBuffer 存储long】贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述MappedByteBuffer 存储long相关的知识,希望能为你提供帮助。
val folder = TemporaryFolder()
folder.create()
val file = folder.newFile("test.dat")
// 创建一个20字节容量的MappedByteBuffer
val buffer = RandomAccessFile(file,"rw")
.channel.map(FileChannel.MapMode.READ_WRITE,0,20)val lv = 0x1122334455667788L
val vl = 0x1020304050607080Lbuffer.putLong(lv)// 存储第一个long
buffer.putLong(vl)// 存储第二个long
buffer.force()// 将数据存储到磁盘
Assert.assertEquals(0x11.toByte(),buffer.get(0))// 读取第一个字节
Assert.assertEquals(0x3344.toShort(),buffer.getShort(2))// 读取一个shortAssert.assertEquals(0x10.toByte(),buffer.get(8))// 读取第二个long的第一个字节
Assert.assertEquals(0x3040.toShort(),buffer.getShort(10)) // 读取第二个long的一个short
从上面的测试代码可以看出MappedByteBuffer存储long时,从long的最高位字节开始存储的,这和我们的书写数字的很类似。所以在操作MappedByteBuffer时要注意这一点。
推荐阅读
- 转载基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)
- TCP_Wrappers 基于TCP的安全控制
- Android WebView 文明踩坑之路
- Android+ESP8266+路由器实现远程控制(基于花生壳域名方式访问)
- 2Django实战第2天(app设计)
- 360儿童卫士哪里买?怎样买?360儿童卫士购买办法
- 360儿童卫士手环购买图文详细教程 360儿童卫士手环怎样买流程
- 附360儿童卫士2申请官网 360儿童卫士2手环申请图文详细教程
- 英伟达mocha平板设置怎样?NVIDIA平板mocha设置