nodejsファイルフロー操作

1267 ワード

/***
fs.read()    ,          
fs.write()         ,               。     
      ,           ,      。(          )
*/
var fs=require('fs');

var os = fs.createWriteStream('b.pdf');//    
var is  =fs.createReadStream('a.pdf');//    
var flag= true;

is.pause();//          
is.on('open',function(){
	console.time('    ');
	console.log('      ');
});
is.on('readable',function(){
	//               ,       'readable'   。
});
is.on('data',function(chunk){
	flag = os.write(chunk);
	//                。
	//           ,      false;  ,   true。
	if(!flag){
		is.pause();//           ,      
	}
});
is.on('end',function(){
	os.end();
	console.log('      ');	
});
is.on('close',function(){
	console.log('      ');
});
is.on('error',function(){
	console.log('    ');
});

os.on('open',function(){	
	console.log('      ');
	is.resume();//       ,        
});
os.on('drain',function(){
	is.resume();
	//                       ,        
});
os.on('finish',function(){
	console.log('      ');
	console.timeEnd('    ');
});
os.on('close',function(){	
	console.log('      ');
});