node文件操作及stream操作文件

node文件操作 及stream

const fs = require('fs')// nodejs原生模块中文件操作
const path = require('path') // nodejs原生模块文件中的路径
//1、获取文件目录   resolve=>通过拼接多个步骤的方式把文件名拼接出来, __dirname ⇒ 当前目录下 如果不是当前的目录 path.join(__dirname,’…/’,’…/’,‘到文件目录下’,‘fileName’)
const fileName = path.resolve(__dirname,'data.txt')
//2、读取文件 readFile  异步的
fs.readFile(fileName,(err,data) =>{
    if (err) {
        console.error (err)
        return
    }
    // data 是二进制类型,需要转换字符串
    console.log(data.toString())
})
// 3、写入文件
const content = '这是新写入的内容 \n'
const opt = {
    flag: 'a'  // 追加写入 。 覆盖用 'w'
}
fs.writeFile (fileName, content, opt, (err) => {
    if (err) {
        console.error (err)
    }
})  // 这样写入很耗费性能

// 4、文件是否存在
fs.exists(fileName, (exist) => {
    console.log('exist',exist)
})

总结: 每次操作都先获取文件再进行操作,如果读取和写入的文件都非常的大,这样会消耗性能 (文件I/o 操作的性能)
解决这些性能运用到stream 流

Stream
上文读取文件之接将整个文件读取出来,stream像水管一样将读取的文件慢慢导出。
为了解决网络(I/O)性能的瓶颈,提高cpu或内存的性能,相当于解放cpu的内存提高执行效率
运用stream文件操作
在这里插入图片描述
2. 发送一个get请求,这个请求想读取文件的内容在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值