我是HTML的侧边栏
fs与流都可以处理文件,为什么还要用流: fs模块处理文件的缺点:将文件的数据全读到内存中,在把数据写到文件内,会大量占用内存
流:
流(stream)是 Node.js 中处理流式数据的抽象接口,是一组有序的,有起点和终点的字节数据传输手段。可以实现将数据从一个地方流动到另一个地方,其边读取边写入的特点有别于fs模块的文件处理,并且可以做到控制读取文件和写入文件的速度,从而减少内存的占用 nodeJS中提供了许多种流的对象,像用http模块创建的服务器的回调内,req就是一个可读流,res就是可写流 流的特点: 1、边读 边写,是边读边写的,读取一段文件,就将它写入 2、流是基于事件的,所有的流对象都用 on绑定事件,并触发
Node.js 中有四种基本的流类型: Writable - 可写入数据的流(例如 fs.createWriteStream())。 Readable - 可读取数据的流(例如 fs.createReadStream())。 Duplex - 可读又可写的流(例如 net.Socket)。 Transform - 在读写过程中可以修改或转换数据的 Duplex 流(例如 zlib.createDeflate())。
颜画风的博客