当前位置: 首页 > news >正文

网站建设的可行性报告研究学校网站建设公司

网站建设的可行性报告研究,学校网站建设公司,全响应网站制作,wordpress后台 登录读取文件就是对代码与算法上进行了一些细节上的修改了#xff0c;下文我们来看一段java读取文件性能优化的例子。在执行IO时#xff0c;Java的InputStream被广泛使用#xff0c;比如DataInputStream.readInt等等。事实上#xff0c;这些高度封装的接口奇慢无比。我有一个项…读取文件就是对代码与算法上进行了一些细节上的修改了下文我们来看一段java读取文件性能优化的例子。在执行IO时Java的InputStream被广泛使用比如DataInputStream.readInt等等。事实上这些高度封装的接口奇慢无比。我有一个项目启动时需要读取90MB左右的词典文件用DataInputStream耗时3秒以上换用java.nio包直接操作内存字节可以加速到300ms左右整整提速10倍当然前提是你熟悉位运算。java.nio中提供了两类 FileChannel 和 ByteBuffer来将文件映射到内存其中FileChannel表示文件通道ByteBuffer是一个缓冲区。具体步骤①从FileInputStream、FileOutputStream以及RandomAccessFile对象获取文件通道②将文件内存映射到ByteBuffer③通过byteBuffer.array()接口得到一个byte数组④直接操作字节示例代码  代码如下复制代码 FileInputStream fis new FileInputStream(path);// 1.从FileInputStream对象获取文件通道FileChannelFileChannel channel fis.getChannel();int fileSize (int) channel.size();// 2.从通道读取文件内容ByteBuffer byteBuffer ByteBuffer.allocate(fileSize);// channel.read(ByteBuffer) 方法就类似于 inputstream.read(byte)// 每次read都将读取 allocate 个字节到ByteBufferchannel.read(byteBuffer);// 注意先调用flip方法反转Buffer,再从Buffer读取数据byteBuffer.flip();// 可以将当前Buffer包含的字节数组全部读取出来byte[] bytes byteBuffer.array();byteBuffer.clear();// 关闭通道和文件流channel.close();fis.close();int index 0;size Utility.bytesHighFirstToInt(bytes, index);index 4;其中如果你当初使用了DataOutputStream.writeInt来保存文件的话那么在读取的时候就要注意了。writeInt写入四个字节其中高位在前低位在后所以将byte数组转为int的时候需要倒过来转换  代码如下复制代码/*** 字节数组和整型的转换高位在前适用于读取writeInt的数据** param bytes 字节数组* return 整型*/public static int bytesHighFirstToInt(byte[] bytes, int start){int num bytes[start 3] 0xFF;num | ((bytes[start 2] 8) 0xFF00);num | ((bytes[start 1] 16) 0xFF0000);num | ((bytes[start] 24) 0xFF000000);return num;}改变buffer的大小也可以起到使用  代码如下复制代码public static void copy1(File src, File dest) throws Exception {FileInputStream fileInputStream null;FileOutputStream fileOutputStream null;try {fileInputStream new FileInputStream(src);fileOutputStream new FileOutputStream(dest);byte[] buffer new byte[8096];int length -1;while((length fileInputStream.read(buffer)) ! -1) {fileOutputStream.write(buffer, 0, length);//一次性将缓冲区的所有数据都写出去fileOutputStream.flush();}} finally {if(fileInputStream ! null) {fileInputStream.close();}if(fileOutputStream ! null) {fileOutputStream.close();}}}
http://www.zqtcl.cn/news/831037/

相关文章:

  • 京东物流网站地方门户网站源码下载
  • 重庆建设工程信息网站企业宣传片制作公司光年映画
  • 哪家做网站好 成都ktv网络推广方案
  • 网站开发的软件支持哈尔滨最新消息
  • jsp淘宝客网站有限公司怎么注册
  • 香奈儿电子商务网站建设策划书怎样进行网络营销吸引顾客
  • 昆山网站建设费用我们公司想做网络推广
  • 网站建设一般要多少钱网站开发主要步骤
  • 商用图片的网站网络文化经营许可证查询
  • c 高性能网站开发弄一个公司网站需要多少钱
  • 建设部网站招标投标文件网页设计专业公司
  • 使用iis6搭建网站wordpress调用搜索功能
  • 装配式建筑网站生活家装饰
  • 怎样做软件网站建设百度网站认证官网
  • phpcms网站什么网站都能进的浏览器
  • 建设配资网站有要求吗网站建设不一定当地
  • 永兴网站开发智慧门店管理服务平台
  • 网站建设前的市场分析李炎辉网站建设教程
  • 乱起封神是那个网站开发的?广州市建设注册中心网站首页
  • 网站开发配置网络广告的投放技巧
  • wordpress 漫画网站安徽省建设厅八大员报名网站
  • 音乐网站排名建设部证书查询网站
  • 长沙建站挺找有为太极wordpress eshop 教程
  • 郑州平台类网站网站开发常见面试题
  • 城乡建设网站职业查询系统做网站设计的需要什么材料
  • ui做的好看的论坛网站加工制造网
  • 南庄网站开发厦门建设局网站城市建设
  • 常州网站建设效果重庆招聘网
  • 做视频网站需要多大的带宽公众号怎么开通直播功能
  • 信息化网站建设引言南宁 网站建设