码迷,mamicode.com
首页 > 其他好文 > 详细

Node学习-fs文件流

时间:2020-12-28 11:45:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:部分   访问速度   log   文件流   --   写入   写入文件   用户体验   读取文件   

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

  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)

      

 

Node学习-fs文件流

标签:部分   访问速度   log   文件流   --   写入   写入文件   用户体验   读取文件   

原文地址:https://www.cnblogs.com/chenghuayike/p/14172688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!