BUFFER
Node为了使开发者完成更多功能,提供给了我们一个类buffer,并且是全局的
buffer中存储的是二进制数据,可以将buffer看出是一个存储二进制的数组,每一项都保存8位二进制
一、创建buffer的方式
(1)通过from的方式来创建
(2)通过alloc的方式来创建
二、Buffer和文件操作
(1)读取文本文件
通过fs的方法读取到的buffer,再采用toString进行解码
(2)对图片进行操作(复制并重命名)
(3)通过引入sharp库,来对图片进行操作(npm install sharp)
三、Buffer的创建过程
事实上我们创建Buffer时,并不会频繁的向操作系统申请内存,它会默认申请一个8*1024字节大小的内存,
也就是8kb
Stream
什么是流?
程序中的流可以想象成当我们从一个文件中读取数据时,文件的二进制(字节)数据会源源不断的被读取到我们的程序中
文件读写的Stream
事实上Node中很多对象是基于流实现的:
(1)http模块的Request和Response对象
(2)process.stdout对象
官方:另外所有的流都是addEventsEmitter的实例
Node.js有四种基本流类型:
Writable:可以向其写入数据的流(例如fs.createWriteStream())
Readable:可以从中读取数据的流(例如fs.createReadStream())
Duplex:同时为Readable和流Writable(例如net.Socket())
Transform:Duplex可以在写入和读取数据时修改或转换数据的流(例如zlib.createDeflate())
readalbe的使用
\