在JavaScript中Node.js处理数据IO的方法是什么
本篇内容主要讲解“在JavaScript中Node.js处理数据IO的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JavaScript中Node.js处理数据IO的方法是什么”吧!
在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的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341