iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >在JavaScript中Node.js处理数据IO的方法是什么
  • 333
分享到

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

2024-04-02 19:04:59 333人浏览 独家记忆
摘要

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

本篇内容主要讲解“在javascriptnode.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的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 在JavaScript中Node.js处理数据IO的方法是什么

本文链接: https://www.lsjlt.com/news/85133.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作