如何测试FileChannel结合MappedByteBuffer往文件中写入数据
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇内容主要讲解"如何测试FileChannel结合MappedByteBuffer往文件中写入数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何测试
千家信息网最后更新 2024年12月12日如何测试FileChannel结合MappedByteBuffer往文件中写入数据
本篇内容主要讲解"如何测试FileChannel结合MappedByteBuffer往文件中写入数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何测试FileChannel结合MappedByteBuffer往文件中写入数据"吧!
FileChannel结合ByteBuffer测试
package com;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;/** * FileChannel Test * * @author Dale * @date 2019/10/23 */public class FileChannelTest{ static ByteBuffer writeBuffer = ByteBuffer.allocate(9); static Integer wrotePosition = 0; static Integer committedPosition = 0; static FileChannel fileChannel = null; static { try { RandomAccessFile randomAccessFile = new RandomAccessFile("d://test.log", "rw"); fileChannel = randomAccessFile.getChannel(); }catch (Exception e){ e.printStackTrace(); } } public static void main(String[] args) throws Exception{ appendData("1234"); commit(); appendData("567"); commit(); appendData("89"); commit(); //fileChannel.force(false); } public static void appendData(String msg) throws Exception{ int msgLen = msg.length(); ByteBuffer byteBuffer = writeBuffer.slice(); byteBuffer.position(wrotePosition); ByteBuffer msgStoreItemMemory = ByteBuffer.allocate(msgLen); msgStoreItemMemory.put(msg.getBytes("UTF-8")); byteBuffer.put(msgStoreItemMemory.array(), 0, msgLen); wrotePosition = wrotePosition + msgLen; } public static void commit() throws Exception{ ByteBuffer byteBuffer = writeBuffer.slice(); byteBuffer.position(committedPosition); byteBuffer.limit(wrotePosition); fileChannel.position(committedPosition); fileChannel.write(byteBuffer); committedPosition = wrotePosition; }}
MappedByteBuffer结合ByteBuffer测试
package com;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;/** * MappedByteBuffer Test * * @author Dale * @date 2019/10/23 */public class MappedByteBufferTest { static ByteBuffer writeBuffer = ByteBuffer.allocate(9); static Integer wrotePosition = 0; static Integer committedPosition = 0; static FileChannel fileChannel = null; static MappedByteBuffer mappedByteBuffer; static { try { RandomAccessFile randomAccessFile = new RandomAccessFile("d://test.log", "rw"); fileChannel = randomAccessFile.getChannel(); mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE, 0, 9); }catch (Exception e){ e.printStackTrace(); } } public static void main(String[] args) throws Exception{ appendData("1234"); appendData("567"); appendData("89"); //mappedByteBuffer.force(); } public static void appendData(String msg) throws Exception{ int msgLen = msg.length(); ByteBuffer byteBuffer = mappedByteBuffer.slice(); byteBuffer.position(wrotePosition); ByteBuffer msgStoreItemMemory = ByteBuffer.allocate(msgLen); msgStoreItemMemory.put(msg.getBytes("UTF-8")); byteBuffer.put(msgStoreItemMemory.array(), 0, msgLen); wrotePosition = wrotePosition + msgLen; }}
到此,相信大家对"如何测试FileChannel结合MappedByteBuffer往文件中写入数据"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
测试
数据
文件
内容
UTF-8
学习
实用
更深
兴趣
实用性
实际
操作简单
方法
更多
朋友
网站
频道
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金税数据库密码
济南安卓应用软件开发
网络安全系统可靠性分析评价
无线传感器网络技术课后题
连云港bim软件开发工程师
怎么上到公司服务器
请问你对网络安全怎样理解
软件开发企业培训专题
卡通网络安全公益广告
造梦西游ol哪个服务器是第一
数据库每个班级每个课程
网络安全手抄报边框视频
戴尔服务器功率有多大
网络安全法则立法指导思想
网络安全运维培训心得体会
易语言加access数据库
网络安全等级保护岗位设置
原神天堂岛服务器怎么下载
java数据库递归查询
数据库涉及到哪些技术
传奇服务器不记得了怎么找
甘肃人口管理系统软件开发
数据库管理机制
服务器添加安全组规则
数通和网络安全相比哪个好学
网络技术保密
2020年网络安全日科普
电工电气杂志数据库
企业级数据库应用是什么意思
软件开发的能力与素质需求