createReadStream 是fs模块里面读流的一个方法

这个方法基于fs模块的,所以我们先要引进fs模块

let fs=require("fs");

createReadStream 读取文件,有两个参数

第一个参数,读取文件的路径

第二个参数 highWaterMark 最高水位线,默认最多读取64K

读取的类容都是buffer类型
返回的结果是一个可读流的实例,是非流动模式---我们最后要转为流动模式

先要定义一下我们读流的变量,假设我们有一个1.txt文件,我们要读取1.txt里面的类容

我们先设置最高水位线每次读取1k

let rs=fs.createReadStream('./1.txt',{highWaterMark:1})

我们的rs里面有绑定了两个事件方法data和end

实例

let fs=require("fs");
// 第一个参数,读取文件的路径
//第二个参数 highWaterMark 最高水位线,默认最多读取64K
//读取的类容都是buffer类型
//返回的结果是一个可读流的实例,是非流动模式---我们最后要转为流动模式
// 转流动模式需要on事件监测
let rs=fs.createReadStream('./1.txt',{highWaterMark:1})
//在内部不断触发rs.emit('data',数据);data不能更改,留动模式开启后,数据会疯狂触发data事件
let arr=[];
rs.on('data',function (chunk) { //chunk是buffer类型
arr.push(chunk);
})
//监听文件读取完毕,会自动触发一次end事件,没有读取完是不会触发的
//Buffer.concat合并小buffer
rs.on('end',function (chunk) { console.log( Buffer.concat(arr).toString());
})
// 监听错误
rs.on('error',function (err) {
console.log(err);
})
// rs.resume() 恢复读取
// rs.pause() 暂停读取
//这两个都控制是否继续触发data事件

node.js 读取文件--createReadStream的更多相关文章

  1. Node.js读取文件内容

    原文链接:http://blog.csdn.net/zk437092645/article/details/9231787 Node.js读取文件内容包括同步和异步两种方式. 1.同步读取,调用的是r ...

  2. Node.js读取文件相对路径写法注意

    首先看一下文件的存放结构: 我们现在希望在上面标记的JS文件里面读取html里面的内容,我们的代码如下: var fs=require("fs"); fs.readFile('te ...

  3. Node.js读取文件内容并返回值(非异步)

    主要解决的问题的,以最近VsCode插件开发为例,每次请求都需要token,而vscode并不支持cookie这样的存储,所以就采用粗暴点办法,存到某个用户目录下并读取. 源码如下: var fs=r ...

  4. node.js 读取文件

    一般用法 var path = require("path"); var fs = require("fs"); //let filePath = path.j ...

  5. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  6. 用node.js读写文件

    node.js没有二进制数据类型,却提供了类似字节数组的“流“数据类型,着一种数据类型在文件系统模块中频频出现 node.js打开文件 fs = require('fs'); console.log( ...

  7. 前端使用js读取文件

    最近同时问我js能不能读取本地文件: 想起以前看到js读取本地文件的文章,然后自己写了个demo. ps:这有点想Java的IO流,但是又有差别. 首先我们定义一个input标签type=" ...

  8. jq常用事件(on,blur,focus,change),js/jq等待图片(页面)加载完毕事件,js读取文件

    jq常用事件(on,blur,focus,change) // 方法一(推荐) $('.box').on( "click",function() {} ) $('.box').on ...

  9. electron node.js 实现文件拖动读取文件

    css/styles.css .for_file_drop { width: 100%; height: 100px; background-color: blueviolet; } index.ht ...

随机推荐

  1. iOS 集成银联支付(绕过文档的坑,快速集成)-转

    本文是投稿文章,作者:南栀倾寒当初集成支付宝的时候,觉得见了这么丑的代码,加上这么难找的下载地址,在配上几乎为零的文档,寒哥就要吐血了. 下午去集成银联,才知道血吐的早了. 下载地址:https:// ...

  2. Windows下的一个Nginx 批处理命令行控制台

    其实作用很简单,就是为了少输入几个字母,完成对Nginx的控制而已,同时也算是练习了一把bat批处理吧. @echo off&color e&Title Nginx 命令行控制台 cl ...

  3. git---安装及配置

    git官网:https://git-scm.com 安装: 官网下载->一路Next->安装完成 配置git: 1.win+r进入windows命令行 2.注册: git config - ...

  4. 【PostgreSQL-9.6.3】启动,登录,退出,关闭

    当我们费尽千辛万苦安装完数据库后,一定会迫不及待的想使用它.骚年,不要着急,且看我为您解析PostgreSQL的启动,登录,退出,关闭过程. 一 启动数据库服务器 1. 没有设置环境变量的情况下 po ...

  5. Ghost Win10系统X64位和32位10041装机版下载

    更多系统下载尽在系统妈:http://www.xitongma.com 特别说明: 1.C:盘分区须至少15GB(安装过程有大量的解压临时文件),安装完成后C:盘占用10GB左右! 2.安装之后如有硬 ...

  6. .Net中的强名称(Strong Name)

    我在CSDN上的文章, 转载与此: .Net中的强名称(Strong Name) http://blog.csdn.net/Anor/article/details/3649646

  7. 迅为I.MX6开发板工业级嵌入式开发平台

    迅为-i.MX6开发板是是基于ARM Cortex™-A9架构的高扩展性多核系列应用处理器, i.MX6系列芯片而且根据应用场合的不同,提供了可供选择的单核.双核和四核产品供客户选择.i.MX6系列的 ...

  8. UI概念体系要素

    结构.渲染.交互.数据. 要素.呈现.交互 1)UI(组成)要素:结构 2)布局: 3)渲染: 4)事件处理: 5)数据:

  9. Tensorflow入门-上

    前置准备 在阅读本文之前,请确定你已经了解神经网络的基本结构以及前向传播.后向传播的基本原理,如果尚未了解,可以查看下文. 深度学习之神经网络 什么是TensorFlow? TensorFlow是Go ...

  10. PHP 之PHP + phantomJS实现网站截屏

    php代码: exec("G:/phpstudy/WWW/destoon/api/a/cache/web/phantomjs.exe ./get.js http://www.baidu.co ...