zoukankan      html  css  js  c++  java
  • 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。

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

  • 相关阅读:
    ListView添加HeaderView的顺序问题
    shape与selector配合使用实现Tab下划线效果
    在java代码中设置TextView的字体大小,单位设为sp
    一个textView中的文字设置成两种颜色
    Android studio生成类图
    linux常用命令总结
    主机CPU与显卡选择
    电脑与显示器四种接口
    Linux shell
    Linux 常用命令二
  • 原文地址:https://www.cnblogs.com/liuestc/p/5136582.html
Copyright © 2011-2022 走看看