Node.js Stream 模块

实例

写入可写流:

  1. var http = require('http');
  2. http.createServer(function (req, res) {
  3. res.writeHead(200, {'Content-Type': 'text/html'});
  4. res.write('Hello World!');
  5. res.end();
  6. }).listen(8080);

定义与用法

Stream 模块提供了一种处理流数据的方法。

有两种类型的流:可读(Readable)和可写(Writable)。

可读流的一个例子是使用 http.createServer() 方法时得到的 response 响应对象。

可写流的一个例子是使用 http.createServer() 方法时得到的 request 请求对象。


语法

有些方法返回可读/可写的流对象,如 http.createServer(),如果是这种情况,则不必引入流模块。

否则,在应用程序中引入流模块的语法:

  1. var stream = require('stream');

Readable 可读流属性与方法

方法描述
isPaused()如果可读流的状态已暂停,则返回 true,否则返回 false
pause()暂停可读流
pipe()将可读流转换为指定的可写流
read()返回可读流的指定部分
resume()恢复暂停的流
setEncoding()设置可读流的字符编码
unpipe()在使用 pipe() 后,停止将可读流转换为可写流
unshift()将某些指定的数据推回内部缓冲区
wrap()帮助读取旧版本 Node.js 生成的流

Writable 可写流属性与方法

方法描述
cork()停止可写流,所有写入的数据将在内存中缓存
end()结束可写流
setDefaultEncoding()设置可写流的编码
uncork()刷新自调用 cork() 方法以来已缓冲的所有数据
write()将数据写入流

分类导航