Node js 流的使用

//文件流
//读取流 
//写入流
let fs=require('fs');

//读取流
 let  data="";//接收读取的数据
//创建读取流
let readStream=fs.createReadStream('public/jq.txt',{flags:'r+',encoding:'utf-8',start:0,end:1024});
//设置读取流的编码格式
//readStream.setEncoding('utf-8');
//使用流的监听事件  去监听
readStream.on('data',(res)=>{
     //当有数据可读的时候触发
     data+=res;
});
readStream.on('end',()=>{
    //当没有数据可读的时候
    //console.log(data);
    //创建写入
    let writeStream=fs.createWriteStream('public/data.txt',{flags:'r+',encoding:'utf-8'});
    writeStream.write(data);
});
readStream.on('error',(err)=>{
    //读取或者写入的时候触发事件
    console.log(err);
});

//写入流
//创建写入流
let writeStream=fs.createWriteStream('public/data.txt');
//设置写入的数据和编码
writeStream.write('写入流','utf-8');
//写入完成
writeStream.end();
writeStream.on('finish',()=>{
    console.log("写入完成");
});

//管道流 边读边写
let readStream=fs.createReadStream('public/jq.txt');
let writeStream=fs.createWriteStream('public/data.txt');
readStream.pipe(writeStream);

//链式流 应用于管道流
let zib=require('zlib');//文件压缩
fs.createReadStream('public/data.txt').pipe(zib.createGzip()).pipe(fs.createWriteStream('public/data.zip'));

//应用
let zib=require('zlib');
fs.createReadStream('public/vue.docx').pipe(zib.createGzip()).pipe(fs.createWriteStream('public/vue.docx.zip'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值