ノードストリーム
1842 ワード
streamはサーバー側でのみ利用可能なモジュールであり、ストリームというデータ構造の流れをサポートするために、データが順序良く読み取られなければなりません.順番に書き込みます.配列のようにランダムに位置決めできません.標準入力ストリームと標準出力ストリームがNodejsの中にあります.流れは対象です.応答ストリームだけが必要です.dataイベントはストリームが読めます.endイベントはこの流れがもう終わりました.読み込むデータがありません.errorイベントはエラーを表しています.'use strict'
//
var fs = require('fs');
//
var rs = fs.createReadStream('sample.txt','utf-8');
rs.on('data',function(chunk){
console.log('DATA:');
console.log(chunk);
});
rs.on('end',function(){
console.log('end');
});
rs.on('error',function(err){
console.log(err);
});
なお、dataイベントは複数回発生する可能性があり、毎回伝達されるchunkはストリームの一部がデータである.ファイルにストリームを書き込むには、継続的にwrite()メソッドを呼び出し、最後にendで終了します.fs = require('fs');
var ws1 = fs.createWriteStream('output1.txt','utf-8');
ws1.write(' Stream ....
');
ws1.write('end');
ws1.end();
var ws2 = fs.createWriteStream('output2.txt');
ws2.write(new Buffer(' Stream ...
','utf-8'))
ws2.write(new Buffer('END','utf-8'));
ws2.end();
すべてのデータを読み取ることができるストリームはStream.Readableから継承され、書き込み可能なストリームはStream.Writeable pipeパイプに統合され、輸送される.一つの読み取り可能なストリームReadableと書き込み可能なストリームWriteableを連結した後、すべてのデータが自動的にReadableからWriteableストリームに流入するという操作をpipeといいます.Node.jsにReadableストリームにはpipe()の方法があります.これを行うためのものです.私たちはpipe()でファイルの流れと他のファイルのストリームを連結しましょう.このようにソースファイルのすべてのデータが自動的にターゲットファイルに書き込まれます.だから、これは実際にはコピーされたファイルのプログラムです.var fs = require('fs');
var rs = fs.createReadStream('sample.txt');
var ws = fs.createWriteStream('copied,txt');
rs.pipe(ws);
デフォルトの場合、readableストリームのデータ読み込みが完了すると、endイベントがトリガされ、自動的にWriteableストリームをクローズします.もし、Writeableストリームを自動的にオフにしたくないなら、着信パラメータが必要です.RS.pipe(ws,end:false)