node.jsのstreamはディスクやネットワークのIO処理を行うためのオブジェクトだが、それ自身ではIO処理を行わず別のstreamの後処理、前処理を行うフィルタとしても使うことができる。npmを探すと書き出す前にデータの暗号化や圧縮を行うstreamライブラリなどが見つかるだろう。 というわけで今度はstream。以前はストリームのラッパークラスを作って行ごとに処理を行うコードを書いたが、あんまりnodeっぽくないので、よりnodeらしくstreamとpipeで行処理を実装してみた。以下ソース。 var stream = require('stream'); var util = require('util'); function LineStream() { this.writable = true; this.readable = true; this.ended = false