我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

在JavaScript中Node.js处理数据IO的方法是什么

本篇内容主要讲解“在JavaScript中Node.js处理数据IO的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JavaScript中Node.js处理数据IO的方法是什么”吧!

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站建设、蔚县网络推广、成都小程序开发、蔚县网络营销、蔚县企业策划、蔚县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供蔚县建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

在JavaScript中,对于字符串的操作已经十分便捷,不存在二进制数据类型,这些对字符串的简单操作和DOM操作基本上已经可以满足前端的需求了,但是Node.js中提供了处理文件和I/O的功能,因此需要处理大量的二进制数据。而在Node.js中Buffer和Stream文件流对二进制数据的处理提供了很好的支持

Buffer缓存区

Buffer类是随着Node.js内核一起发布的核心库,用于支持I/O操作中移动的数据处理。Buffer类为Node.js提供了一种存储原始数据的方法,该方法用来在内存中创建一个专门存放二进制数据的缓存区,也就是说预留了一定的存储空间在内存中,用来暂时保存输入或者输出的数据,这样Node.js也可以处理二进制数据

先说二进制,二进制是计算机技术中广泛采用的一种数制,是用0和1两个数码来表示的数据,由于计算机只能识别二进制数据,而人们很难看懂那些0和1的组合代表什么,所以就需要将二进制数据转换为人们能够识别的字符,这就需要设置字符编码,通过字符编码找到相应的字符集进行转换,最远书的字符编码就是ASCII

再说Buffer的构造函数

  • new Buffer(array)

  • new Buffer(size)

  • new Buffer(str[,encoding])

  • new Buffer(Buffer)

  • new Buffer(arrayBuffer)

可以看出,参数分别是字节,数组,buffer对象,字符串等等

再比如写入读取的语法:

  • write(string[,offset[,length]][,encoding])

  • toString([encoding,state[,end]])

  • concat(list[,totallength])

Stream文件流

由于Buffer缓存区限制在1GB,超过1GB的文件无法直接完成读写,在读写大文件时,如果读/写资源一直持续不停,那么Node.js就无法继续其他的工作,为此,Node.js提供了Stream文件流模块

最理想的方法就是,读一部分,写一部分,不论文件的大小,只是时间的问题,总会处理完成,这就需要用到流的概念

文件A通过流动的形式通过数据流管道,进入文件B中,采用“读一部分。写一部分”的方式,流的好处就是,接收方可以提前处理,缩短时间,提高速度,就像在线看视频,并不是全部缓存好了再播放,而是看一部分,缓存一部分

Stream四种流类型

  • Readable

  • Writable

  • Duplex

  • Transform

而在使用大文件复制时,通过可读流的chunk参数传递数据,chunk就像接数据的盆,在可读流中还有一个函数叫pipe(),这个函数是一个很高效的文件处理方式,可以简化之前复制文件的操作,所以,使用pipe进行完成数据的读取和写入也是很重要的

到此,相信大家对“在JavaScript中Node.js处理数据IO的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:在JavaScript中Node.js处理数据IO的方法是什么
文章出自:http://mswzjz.cn/article/gcoghd.html

其他资讯