nodejsファイルコピーfs.reate ReadSream&fs.create WriteStream&pipe

1239 ワード

ファイル構造:
e:nodejs/filecopy/demo.js
e:nodejs/filecopy/1/result.txt
e:nodejs/filecopy/2
demo.js:
var fs=require('fs');

var rOption={
	flags:"r",
	encoding:null,
	mode:0666
}

var wOption = {
  flags: 'a',
  encoding: null,
  mode: 0666   
}

var fileReadStream=fs.createReadStream('filecopy/1/result.txt',rOption);
var fileWriteStream = fs.createWriteStream('filecopy/2/new_result.txt',wOption);

fileReadStream.on('data',function(data){
	fileWriteStream.write(data);
});

fileReadStream.on('end',function(){
	console.log("readStream end");
	fileWriteStream.end();
});
起動運転は、e:nodejs/filecopy/1/e:nodejs/filecopy/2/下にレプリカすることができます.
ここでは、ストリームにおいて非常に有用な関数を追加します.pipeは、現在の読み取り可能なストリームと他の書き込み可能なストリームとを接続するために使用されます.読み取り可能なストリームのデータは、書き込み可能なストリームに自動的に書き込まれます.使用するには非常に便利です.依然として上記の機能を実現しています.demo.js:
var fs = require('fs');

var fileReadStream=fs.createReadStream('filecopy/1/result.txt');
var fileWriteStream = fs.createWriteStream('filecopy/2/new_result.txt');
fileReadStream.pipe(fileWriteStream);

fileWriteStream.on('close',function(){
  console.log('copy over');  
});