var fs = require('fs');
var readableStream = fs.ReadStream('classmates.txt');
var writableStream = fs.writeStream('names.txt');
readableStream.setEncoding('utf8');
readableStream.on('data', function (chunk) {
writableStream.write(chunk);
});
readableStream.on('close', function () {
writableStream.end();
});
现在,当接收到数据事件时,数据会被写入可写流中。
readable.setEncoding(encoding):返回: this
readable.resume():同上。该方法让可读流继续触发 data 事件。
readable.pause():同上。该方法会使一个处于流动模式的流停止触发 data 事件,切换到非流动模式,并让后续可用数据留在内部缓冲区中。
类: stream.Writable
Writable(可写)流接口是对您正在写入数据至一个目标的抽象。
1.writable.write(chunk, [encoding], [callback]):
chunk {String | Buffer} 要写入的数据
encoding {String} 编码,假如 chunk 是一个字符串
callback {Function} 数据块写入后的回调
返回: {Boolean} 如果数据已被全部处理则 true。
该方法向底层系统写入数据,并在数据被处理完毕后调用所给的回调。
2.writable.cork():强行滞留所有写入。
滞留的数据会在 .uncork() 或 .end() 调用时被写入。
3.writable.end([chunk], [encoding], [callback])
chunk {String | Buffer} 可选,要写入的数据
encoding {String} 编码,假如 chunk 是一个字符串
callback {Function} 可选,流结束后的回调
在调用 end() 后调用 write() 会产生错误。
复制代码 代码如下:
// 写入 'hello, ' 然后以 'world!' 结束
http.createServer(function (req, res) {
res.write('hello, ');
res.end('world!');
// 现在不允许继续写入了
});
您可能感兴趣的文章: