Heim >Web-Frontend >js-Tutorial >Node.js Stream(Stream)

Node.js Stream(Stream)

黄舟
黄舟Original
2017-01-17 15:49:491082Durchsuche

Lernpunkte:

Daten aus dem Stream lesen

In den Stream schreiben

Rohrfluss

Kettenfluss

Knoten .js Stream (Stream)

Daten aus dem Stream lesen

Fall: main.js

[code]var fs = require('fs');
var data = '';
// 创建可读流
var readerStream = fs.createReadStream('input.txt');
// 设置utf8编码
readerStream.setEncoding('UTF8');
// 处理流事件
// data 当有数据可读时触发
readerStream.on('data', function (chunk) {
    data += chunk;
});
// end 当没有数据读时触发
readerStream.on('end', function () {
    console.log(data);
});
// error  在接收和写入过程中发生错误时触发。
readerStream.on('error', function (err) {
    console.log(err.stack);
});
console.log('程序执行完毕。');

Node.js Stream(Stream)

Stream schreiben

Fall: main2.js

[code]var fs = require('fs');
var data = '我是谁?';
// 创建写入流
var writeStream = fs.createWriteStream('ouput.txt');
// 编码
writeStream.write(data, 'UTF8');
// 标记文件末尾
writeStream.end();
// 处理流事件
// finish 所有数据已被写入到底层系统时触发。
writeStream.on('finish', function () {
    console.log('写入完成');
});
// error 在读入和写入数据是触发
writeStream.on('error', function (err) {
    console.log(err.stack);
});
console.log('程序执行完毕。');

Node.js Stream(Stream)

Pipeline-Stream

Daten von einem Stream in einen anderen Stream eingeben

Fall :pipe.js

[code]var fs = require('fs');
// 创建可读流
var readerStream = fs.createReadStream('input.txt');
// 创建写入流
var writeStream = fs.createWriteStream('ouput.txt');
// 管道读写
readerStream.pipe(writeStream);
console.log('程序执行完毕。');

Node.js Stream(Stream)

Kettenfluss

besteht darin, mehrere Eingabe- und Ausgabeströme zu verbinden

Fall: komprimierte Datei Express. js

[code]var fs = require('fs');
var zlib = require('zlib');
// 将 input.txt 压缩为 input.gz
fs.createReadStream('input.txt')
    .pipe(zlib.createGzip())
    .pipe(fs.createWriteStream('input.gz'));
console.log('文件压缩完毕');

Node.js Stream(Stream)

Fall: dekomprimierte Datei decompress.js

[code]var fs = require('fs');
var zlib = require('zlib');
// 解压 input.gz 为 input.gz.txt
fs.createReadStream('input.gz')
    .pipe(zlib.createGunzip())
    .pipe(fs.createWriteStream('input.gz.txt'));
console.log('解压文件完毕');

Node.js Stream(Stream)

Das Obige ist der Inhalt von Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn