Node.js的文件读取

简单文件的读取

  • 同步简单文件读取。使用fs.readFileSync(path[, options])
  • 异步简单文件读取。使用fs.readFile(path[, options], callback)
  • path:要读取的文件路径
  • options:读取的选项
  • callback:回调函数。回调函数的参数为err与data
    • err:读取错误时赋值
    • data:当成功读取之后,返回文件内容,以buffer格式返回
    • 当读取的不是文本文件,而是视频或者图片等格式时,需要使用buffer格式,当使用string格式会出现乱码的情况
fs.readFile("test2.txt", function (err, data) {
  if (!err) {
    console.log(data.toString())
  } else {
    console.log(err)
  }
})

流式文件的读取

  • 流式文件读取与流式文件的写入一致。都需要一个管道
  • 使用fs.createReadStream(path, [, options])
const rs = fs.createReadStream("test2.txt")

rs.once("open", function () {
  console.log("流式文件打开成功")
})

rs.once("close", function () {
  console.log("流式文件关闭成功")
})

// 使用on监听data,可以重复对文件读取事件监听
rs.on("data", function (data) {
  console.log(data)
})

流式文件读取与写入

// 流式文件读取
const rs = fs.createReadStream("D:/Music/G.E.M.邓紫棋-光年之外-《太空旅客(Passengers)》电影中国区主题曲.flac")
// 流式文件写入
const ws = fs.createWriteStream("test.mp3")

rs.once("open", function () {
  console.log("可读流流式文件打开成功")
})

rs.once("close", function () {
  console.log("可读流流式文件关闭成功")
  // 数据读取完毕,关闭可写流
  ws.end()
})

ws.once("open", function () {
  console.log("可写流流式文件打开成功")
})

ws.once("close", function () {
  console.log("可写流流式文件关闭成功")
})


// 使用on监听data,可以重复对文件读取事件监听
rs.on("data", function (data) {
  // 写入文件信息
  ws.write(data)
})
  • 简化读取与写入。使用pipe()可以将可读流与可写流直接联系到一起
// 流式文件读取
const rs = fs.createReadStream("D:/Music/G.E.M.邓紫棋-光年之外-《太空旅客(Passengers)》电影中国区主题曲.flac")
// 流式文件写入
const ws = fs.createWriteStream("test2.mp3")

// pipe()可以直接将可写流与可读流连接起来
rs.pipe(ws)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值