• nodejs


    几个重要概念,完全是自己的理解。

    文件流操作。具体来讲就是用createReadStream来代替readFile,这样做的原因就是读文件时先要读入缓冲区buffer,如果文件过大那么需要的缓冲去也就很大,所以用stream 来代替 。stream大概的工作原理是分成小块,然后传输。

    Stream: 单词意思是流的意思。

    file=createReadStream(“path”);

    创建一个createStream对象---》》》该对象用于读取文件---》》》该对象可以绑定的事件---》》》

    ---------------------------------------------------------

    @@@事件

    readable:党可以从流中读取数据时触发,具体不知道。

    data:!!!重要 参数为存放了已读取的数据的缓冲区对象或字符串。当读取来自文件、客户端、服务器等对对象的新数据时触发。

    end:  读取数据完成后触发,不会触发data 事件

    error:你懂得。

    close:读取数据对象关闭时触发。

    @@@方法

    read():读取数据;

    setEncoding:编码方式;

    src.pipe(dst):设置一个数据通道,将读取到的数据传输到另一个对象中;

    -------------------------------------------------------

    var file=require("fs");
    var filestream=file.createReadStream('test.txt');
    var out=file.createWriteStream("test2.txt");
    //console.log(out);
    filestream.on("data",function(data){
       //console.log(data.toString());
        out.write(data);
    });

    运行这段代码会将test2覆盖为test1;

    思考如何解决?!!

    file对象的方法:

    pipe(),pipe表面意思是管道的意思。由于有时需要读写的文件非常大,不能全部读入内存,这样便可以createReadStream()来创造一个流式服务,然后再使用pipe()方法读出 pipe(res) 

    src.pipe(dst) 可读流src 到输出可写流dst。

    感觉一般是当复制来用的。

  • 相关阅读:
    crontab自动备份MySQL数据库并删除5天前备份
    使用ShowDoc在线管理API接口文档
    概率计算(抽奖活动、命中率)
    保护隐私?找回已记住的秘密?你的余额宝、淘宝还安全吗?
    自制公众平台Web Api(微信)
    我为什么期待M#?
    在.net中为什么第一次执行会慢?
    记”Uri.IsWellFormedUriString”中的BUG
    公司ERP系统重构那些事
    Koala Framework是什么?我为什么要写这个框架?
  • 原文地址:https://www.cnblogs.com/liuestc/p/5136582.html
Copyright © 2020-2023  润新知