Node.js は、Chrome JavaScript ランタイム上に構(gòu)築されたプラットフォームです。

Node.js は、Google の V8 エンジンをベースにしたイベント駆動型 I/O サーバーサイド JavaScript 環(huán)境であり、V8 エンジンは JavaScript を非常に高速に実行し、非常に優(yōu)れたパフォーマンスを発揮します。

Node.jsストリーム(ストリーム) 構(gòu)文

Stream は抽象インターフェイスであり、Node 內(nèi)の多くのオブジェクトがこのインターフェイスを?qū)g裝しています。たとえば、http サーバーへのリクエストを開始するリクエスト オブジェクトは、ストリームと stdout (標準出力) です。

Node.js、ストリームには 4 つのストリーム タイプがあります。

Readable - 読み取り可能な操作。

書き込み可能 - 書き込み可能な操作。

Duplex - 読み取りおよび書き込み操作

Transform - この操作はデータを書き込み、結(jié)果を読み取ります。

すべての Stream オブジェクトは EventEmitter のインスタンスです。一般的に使用されるイベントは次のとおりです。

data - データが読み取り可能になったときにトリガーされます。

end - 読み取るデータがなくなったときに発生します。

error - 受信および書き込み中にエラーが発生したときにトリガーされます。

finish - すべてのデータが基礎(chǔ)となるシステムに書き込まれたときにトリガーされます。

Node.jsストリーム(ストリーム) 例

次のコードを使用して main.js ファイルを作成します:

var fs = require("fs");var data = '';
// 創(chuàng)建可讀流
var readerStream = fs.createReadStream('input.txt');
// 設(shè)置編碼為 utf8。
readerStream.setEncoding('UTF8');
// 處理流事件 --> data, end, and error
readerStream.on('data', function(chunk) {   data += chunk;});
readerStream.on('end',function(){   console.log(data);});
readerStream.on('error', function(err){   console.log(err.stack);});
console.log("程序執(zhí)行完畢");