管道

作者: 此人已失联好几天 | 来源:发表于2020-04-17 16:47 被阅读0次
    1. 以传统读写流方式复制大文件
    var fs = require('fs');
    var s1 = fs.createReadStream(pathname);
    var s2 = fs.createWriteStream(pathname);
    // 以流的方式读一段写一段
    s1.on('data', function(data){
      s2.write(data);
    })
    // 读取完成既写入完成
    s1.on('end', function(){
      s2.end();
    })
    
    1. 以管道形式复制大文件
    var fs = require('fs');
    var s1 = fs.createReadStream(pathname);
    var s2 = fs.createWriteStream(pathname);
    s1.pipe(s2); // 完成
    

    大文件压缩(链式流)

    var fs = require('fs');
    var zlib = require('zlib');
    // 读取文件流
    var s1 = fs.createReadStream(pathname);
    // 写入文件流
    var s2 = fs.createWriteStream(pathname); // 此pathname需要加上后缀pathname.zip(.zip后缀)
    // 从s1中读取文件,经过zlib压缩后塞入s2中,实现大文件复制压缩
    s1.pipe(zlib.createGzip()).pipe(s2);
    

    相关文章

      网友评论

          本文标题:管道

          本文链接:https://www.haomeiwen.com/subject/bnwgmhtx.html