node.js中的fs.createReadStream方法使用说明
方法说明:
返回一个readStream(文件读取流,输入流)对象。(可读流)
语法:
fs.createReadStream(path, [options])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
接收参数:
path: (string) 欲读取的文件路径
options : (object) 数组对象包含以下属性
{ flags: 'r',
encoding: null,
fd: null,
mode: 0666,
autoClose: true
}
options 可以通过start 和 end 设置 文件 可读取的字节数范围,而不是读取整个文件。
如果start 和 end都被包含的情况下 ,将从0开始。
encodeing 可以是 ‘utf8′, ‘ascii', 或 ‘base64′三种格式。
如果autoClose为false时,文件描述符将不会被关闭,即使他们报错了。
最好把它关闭掉 并确保不会出现文件描述符泄漏。
如果autoClose为true时(默认的行为),对错误或结束的文件描述符将自动关闭。
例子:
该例子将读取一个100k的文件中的最后10十字节内容。
fs.createReadStream('sample.txt', {start: 90, end: 99});
源码:
fs.createReadStream = function(path, options) {
return new ReadStream(path, options);
};
相关推荐
-
浅谈Node.js:理解stream
Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据.流模块便是提供各种API让我们可以很简单的使用Stream. 流分为四种类型,如下所示: Readable,可读流 Writable,可写流 Duplex,读写流 Transform,扩展的Duplex,可修改写入的数据 1.Readable可读流 通过stream.Readable可创建一个可读流,它有两种模式:暂停和流动. 在流动模式下,将自动从下游系统读取数据并使用
-
浅析Node.js 中 Stream API 的使用
本文由浅入深给大家介绍node.js stream api,具体详情请看下文吧. 基本介绍 在 Node.js 中,读取文件的方式有两种,一种是用 fs.readFile ,另外一种是利用 fs.createReadStream 来读取. fs.readFile 对于每个 Node.js 使用者来说最熟悉不过了,简单易懂,很好上手.但它的缺点是会先将数据全部读入内存,一旦遇到大文件的时候,这种方式读取的效率就非常低下了. 而 fs.createReadStream 则是通过 Stream 来读取
-
Nodejs Stream 数据流使用手册
1.介绍 本文介绍了使用 node.js streams 开发程序的基本方法. <code class="hljs mizar">"We should have some ways of connecting programs like garden hose--screw in another segment when it becomes necessary to massage data in another way. This is the way of
-
深入nodejs中流(stream)的理解
nodejs的fs模块并没有提供一个copy的方法,但我们可以很容易的实现一个,比如: var source = fs.readFileSync('/path/to/source', {encoding: 'utf8'}); fs.writeFileSync('/path/to/dest', source); 这种方式是把文件内容全部读入内存,然后再写入文件,对于小型的文本文件,这没有多大问题,比如grunt-file-copy就是这样实现的.但是对于体积较大的二进制文件,比如音频.视频文件,动
-
node.js中 stream使用教程
这些日子跑去学了一下OC,但是还没有学成.离转行的时间还有很长,顺便回顾一下node的知识. 每种语言来来去去的人很多,但我就离不开node.我并不是使用它开发,只是使用js相对多一些,因此还是研究node比较好,stream在node的地位是很高的.闲时也来看看这个内容,在node的路上,我还是新手. 今天下载了nodeschool的课程看,其中有一个例子.(我修改了一点点) var concat = require('concat-stream'); var http = require('
-
node.js中的fs.createWriteStream方法使用说明
方法说明: 返回一个WriteStream(输出流)对象(可写流). 语法: 复制代码 代码如下: fs.createWriteStream(path, [options]) 由于该方法属于fs模块,使用前需要引入fs模块(var fs= require("fs") ) 接收参数: path 文件路径 option (object) 参数包含以下属性: 复制代码 代码如下: { flags: 'w', encoding: null, mode: 0666 } op
-
Node.js中的流(Stream)介绍
什么是流? 说到流,就涉及到一个*nix的概念:管道--在*nix中,流在Shell中被实现为可以通过 |(管道符) 进行桥接的数据,一个进程的输出(stdout)可被直接作为下一个进程的输入(stdin). 在Node中,流(Stream)的概念与之类似,代表一种数据流可供桥接的能力. pipe 流化的精髓在于 .pipe()方法.可供桥接的能力,在于数据流的两端(上游/下游 或称为 读/写流)以一个 .pipe()方法进行桥接. 伪代码的表现形式为: 复制代码 代码如下: //上游.pipe
-
Node.js Streams文件读写操作详解
Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务.如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream).因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧. 流是什么 流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地. 简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 EventEmitter .根据它实现的方法,流可以变成可读流(Readable),可写流(Writable),或者双向
-
Nodejs学习笔记之Stream模块
一,开篇分析 流是一个抽象接口,被 Node 中的很多对象所实现.比如对一个 HTTP 服务器的请求是一个流,stdout 也是一个流.流是可读,可写或兼具两者的. 最早接触Stream是从早期的unix开始的, 数十年的实践证明Stream 思想可以很简单的开发出一些庞大的系统. 在unix里,Stream是通过 "|" 实现的.在node中,作为内置的stream模块,很多核心模块和三方模块都使用到. 和unix一样,node stream主要的操作也是.pipe(),使用者可以使
-
浅析Node.js的Stream模块中的Readable对象
我一直都很不愿意扯 nodejs 的流,因为从第一次看到它我就觉得它的设计实在是太恶心了.但是没办法,Stream 规范尚未普及,而且确实有很多东西都依赖了 nodejs 的流来实现的,所以我也只能捏着鼻子硬着头皮来扯一扯这又臭又硬的 nodejs 流对象了. nodejs 自带了一个叫 stream 的模块,引入它便可以得到一组流对象构造器.现在我只说最简单的 stream.Readable. 其实用过 nodejs 的几乎都接触过 Readable 的实例,只是平时没太在意而已.一个非常典型
随机推荐
- MSSQL 字符段分段更新
- 存储过程返回数组对象示例代码
- java实现简单解析XML文件功能示例
- 详解docker下的Mysql镜像的使用方法
- .net GridView分页模板的实例代码
- Jsp连接Access数据库(不通过建立ODBC数据源的方法)
- js获取当前页面的url网址信息
- mysql 5.7 zip 文件在 windows下的安装教程详解
- 通用javascript脚本函数库 方便开发
- jQuery跨域问题解决方案
- 给blog加上运行代码功能
- Flash中加载外部文件的方法
- 用Javscript实现表单复选框的全选功能
- nginx日志分割 for linux
- 使用jQuery Ajax 请求webservice来实现更简练的Ajax
- js单例模式的两种方案
- window.open 以post方式传递参数示例代码
- Android编程实现动态支持多语言的方法
- 使用svn进行版本控制
- httpd.exe cpu占有很高的解决方法