nodejs的stream有四种流类型:

可读:Readable
可写:Writable
可读可写:Duplex
操作被写入数据,然后读出结果:Transform
常用事件:
data:有数据可读时触发
end:没有数据可读触发
error:读写过程出错触发;
finish:所有数据被写入到底层系统时触发;

创建可读流:

// 注: utf8中,中文占三个字符
// var data = ''; // 创建可读流二
var fs = require("fs");
var readerStream = fs.createReadStream('./file/333.txt',{
flags:'r',//我们要对文件进行何种操作
start:3,//从索引为3的位置开始读
//这是我的见过唯一一个包括结束索引的
end:40,//读到索引为8结束
highWaterMark:3//缓冲区大小
}); // 设置编码为 utf8。
readerStream.setEncoding('UTF8'); // 处理流事件 --> data, end, and error
readerStream.on('data', function(chunk) {
// data += chunk;
console.log(chunk + "------");
}); readerStream.on('end',function(data){
console.log(data);
}); readerStream.on('error', function(err){
console.log(err.stack);
}); console.log("程序执行完毕");

管道读写操作:

//读取一个文件内容后写入另一个文件中,会覆盖原有内容

// 创建一个可写流
var fs = require("fs");
var readStream = fs.createReadStream('./file/demo.html');
var writeStream = fs.createWriteStream('output.html'); // 管道读写操作
// 读取 input.txt 文件内容,并将内容写入到 output.txt 文件中
readStream.pipe(writeStream); console.log("程序执行完毕"); //读取一个文件内容后写入另一个文件中,追加在原有内容后 // 追加
var read = fs.createReadStream('./file/1.txt');
//设置第二个参数append
var write = fs.createWriteStream('output.txt', { 'flags': 'a' });
//管道流读写操作
read.pipe(write);
console.log('执行完毕');

nodejs笔记之流(stream)的更多相关文章

  1. nodeJS之流stream

    前面的话 当内存中无法一次装下需要处理的数据时,或者一边读取一边处理更加高效时,我们就需要用到数据流.NodeJS中通过各种Stream来提供对数据流的操作.本文将详细说明NodeJS中的流strea ...

  2. [Linux] 流 ( Stream )、管道 ( Pipeline ) 、Filter - 笔记

    流 ( Stream ) 1. 流,是指可使用的数据元素一个序列. 2. 流,可以想象为是传送带上等待加工处理的物品,也可以想象为工厂流水线上的物品. 3. 流,可以是无限的数据. 4. 有一种功能, ...

  3. Java笔记:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

  4. angular2 学习笔记 ( rxjs 流 )

    RxJS 博大精深,看了好几篇文章都没有明白. 范围牵扯到了函数响应式开发去了... 我对函数式一知半解, 响应式更是第一次听到... 唉...不过日子还是得过...混着过先呗 我目前所理解的很浅,  ...

  5. JAVA基础知识之IO——IO流(Stream)的概念

    Java IO 流 Java将不同的设备或载体(键盘.文件.网络.管道等)的输入输出数据统称为"流"(Stream),即JAVA的IO都是基于流的. JAVA传统的所有流类型类都包 ...

  6. 【stanford C++】字符串(String)与流(Stream)

    字符串(String)与流(Stream) 一.C++中字符串(String) 字符串(String):就是(可能是空的)字符序列. C++中的字符串在概念上和Java中的字符串类似. C++字符串用 ...

  7. c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换

    字节数组byte[]与图片image之间的转化 字节数组转换成图片 public static Image byte2img(byte[] buffer) { MemoryStream ms = ne ...

  8. java 学习笔记之 流、文件的操作

    ava 学习笔记之 流.文件的操作 对于一些基础的知识,这里不再过多的解释, 简单的文件查询过滤操作 package com.wfu.ch08; import java.io.File; import ...

  9. Java - 17 Java 流(Stream)、文件(File)和IO

    Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型. ...

随机推荐

  1. maven打包忽略静态资源解决办法,dispatchServlet拦截静态资源请求的解决办法

    问题: maven 打包时,有的文件打不进去target 解决: 因为maven打包默认打Java文件.在项目中的pom文件中加build标签 <build> <resources& ...

  2. 20175320 2018-2019-2 《Java程序设计》第9周学习总结

    20175320 2018-2019-2 <Java程序设计>第9周学习总结 教材学习内容总结 本周学习了教材的第十一章的内容,在这章中介绍了JDBC与Mysql数据库,通过本章我了解到了 ...

  3. 关于vue页面多了之后,webpack热更新速度慢的解决办法

    vue项目大了之后,每次热更新都要10多秒的时间, 网上找了一大堆发现一个有用的办法 "env": { "development":{ "plugin ...

  4. Python文件的读写

    一.写数据 f = open("hello.txt", "w") f.write("hello world python!") f.clos ...

  5. 对SDE中空要素类插入要素,完成后显示的图层特别小

    原因是缺少图层Extent或者Extent发生变化,插入完成后需要对图层的Extent进行更新. 调用IFeatureClassManage. UpdateExtent更新范围 参考链接: https ...

  6. 2019年春季学期第二周作业 基础作业 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。 输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。 输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件

    ~~~ include<stdio.h> include<stdlib.h> int main() { FILE*fp; int i=0,max=0,j=0,maxb=0; i ...

  7. VisualStudioCode创建的asp.net core项目部署到IIS,以及遇到的问题

    一.发布项目 在visual studio code中通过命令“dotnet publish”,如下图: 这里我把发布位置设置到了D:\WebSite\netcoredemo下. 二.设置IIS 0. ...

  8. Redis多机多节点集群实验

    第一步:环境准备 我们搞两台虚拟机 局域网IP 分别是 192.168.1.109和192.168.1.110 我们约定把192.168.1.109作为集群控制端,需要安装redis-trib.rb ...

  9. 2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用 一. 实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要 ...

  10. h5样式布局

    在文字的左面加图标  background: url(../images/hi.png) left no-repeat; 如图所示