Skip to content

Instantly share code, notes, and snippets.

@yukidarake
Created August 18, 2012 08:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yukidarake/3385313 to your computer and use it in GitHub Desktop.
Save yukidarake/3385313 to your computer and use it in GitHub Desktop.
node.jsで標準出力から一行ずつ読み込んでファイルに書きこむ例
var fs = require('fs');
var buffer = '';
var out = fs.createWriteStream('test.txt', {
encoding: 'utf8',
mode: 0644,
});
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (chunk) {
var parts = chunk.split(/\n|\r\n/g);
if (buffer.length > 0) {
parts[0] = buffer + parts[0];
}
for (var i = 0, l = parts.length - 1; i < l; i++) {
if (!out.write(parts[i] + '\n')) {
process.stdin.pause();
}
}
buffer = parts[parts.length - 1];
});
process.stdin.on('end', function (data) {
if (buffer.length > 0) {
out.end(buffer + '\n');
}
console.log('end');
});
out.on('drain', function() {
process.stdin.resume();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment