**大型文件的流文件的写入**
原因:同步异步文件的写入大文件数据,可能导致内存溢出
(1)var ws=fs.createWriteStream(路径,{配置信息json flags:'a'可开启追加模式});
(2)ws.write('写入流')
(3)ws.end();
**流式文件读取**
(1)fs.createReadStream(路径,{配置信息}/可选);
(2)fs.on('data',function(data){data中是Buffer内容,data.toString()返回内容})
(3)读取流自动关闭,写入流要手动关闭
**读取时写入文件**
法一:可配合监听,读取流结束时,再关闭写入流,保证数据写入完整
法二:读取流.pipe(写入流); 将读取流内容放到写入流,自动关闭读、写流
通过流返回对象.on/once(’‘open/close",function(){})监听流的打开和关闭状况
once触发以后就失效,所以推荐使用once
代码示例:
var fs=require('fs');
var ws=fs.createWriteStream('C:/Users/10853/Desktop/td.txt',{flags:'a'});
ws.once('open',function(){
console.log('流打开了')
})
ws.write('流写入');
ws.end();
ws.once('close',function(){
console.log('流关闭了')
})
var rs=fs.createReadStream('C:/Users/10853/Desktop/td.txt');
rs.once('open',function(){
console.log('流打开了');
})
rs.on('data',function(data){
console.log(data.toString());
})
rs.once('close',function(){
console.log('流关闭了')
ws.end();
})
rs.pipe(ws);