nodejsファイルコピーfs.reate ReadSream&fs.create WriteStream&pipe
ファイル構造:
e:nodejs/filecopy/demo.js
e:nodejs/filecopy/1/result.txt
e:nodejs/filecopy/2
demo.js:
ここでは、ストリームにおいて非常に有用な関数を追加します.pipeは、現在の読み取り可能なストリームと他の書き込み可能なストリームとを接続するために使用されます.読み取り可能なストリームのデータは、書き込み可能なストリームに自動的に書き込まれます.使用するには非常に便利です.依然として上記の機能を実現しています.demo.js:
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');
});