• 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。

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

  • 相关阅读:
    js中 offset /client /scroll总结
    python的安装和环境配置
    git详解
    Xmind
    Linux 文件搜索命令
    Linux 文件和目录命令
    Linux 系统关机重启命令
    Linux系统信息命令
    Day07
    ModuleNotFoundError: No module named 'pysqlite2'
  • 原文地址:https://www.cnblogs.com/liuestc/p/5136582.html
Copyright © 2020-2023  润新知