zoukankan      html  css  js  c++  java
  • Node学习-fs文件流

    关于文件流本人了解不多,暂时先学会用法,理解作用是什么,以后有成长了再重来

      nodejs文件模块-文件流:(我认为文件流相当于懒加载,如同网页内容的一些大图,或者是长文本,是一次性加载完毕随后展示;流式相当于一次性加载一部分,分多次加载。)

        -- 以流的方式读取文件

          具体用法:

    1     var readStream = fs.createReadStream('./data/input.txt',{})    

          指向一个文件地址,创建一个可监听对象;可传第二参数,配置属性,具体自行查看node官网

          

    1     readStream.on('data', (data) => {
    2         str += data;
    3         count++
    4     })

          监听流(或读取流),回调返回每次流读取的内容:data

          

    1     readStream.on('end', () => {
    2         console.log(str);
    3         console.log(count);
    4     })

          监听‘读取流’结束,统计‘读取流’结果和使用的次数

    1      readStream.on('error', (err) => {
    2         console.log(err);
    3      })

          监听执行异常;

        作用:流式读取文件内容。优化用户体验?或者提高访问速度?也许都有吧。

        -- 以流的方式写入文件 (文件存在即写入(覆盖),不存在创建再写入)

          具体用法:

    1     var writeStream = fs.createWriteStream('./data/output.txt');

          指定写入地址

    1     writeStream.write(str)

          确定写入内容(str)

    1     writeStream.end();

          标记写入完成 ↑↑↑    (有此项才能监听结束)↓↓↓

    1     writeStream.on('finish',()=>{
    2         console.log('写入完成')
    3     })

          监听写入结束

        作用:流式写入文件内容。

        -- 管道流

          (本人认为:相当于复制)

          具体用法:

        // 先读取文件
        var readStream = fs.createReadStream('./data/input.txt')
        // 确定写入位置
        var writeStream = fs.createWriteStream('./data/output.txt');
        // 执行(相当于复制文件)
        readStream.pipe(writeStream)

          

  • 相关阅读:
    Handling Touches
    Learn the Basics
    Getting started
    (dev mode) install CONSUL on ubuntu
    Resilience4j usage
    spring cloud gateway
    courator
    courator
    js 获取服务器控件
    js
  • 原文地址:https://www.cnblogs.com/chenghuayike/p/14172688.html
Copyright © 2011-2022 走看看