Node-Js fs文件读取

fs模块文件读取
  1. 异步读取 readFile
  2. 同步读取readFileSync
const fs = require('fs')
// 异步
fs.readFile('./劝学诗.txt',(err,data)=>{
	if(err){
		console.log('失败')
		return
	}
	// 直接输出data获取到的是Buffer,转换成字符串查看内容 使用toString
	console.log(data.toString(),'成功')
})
// 同步
let data = fs.readFileSync('./劝学诗.txt')
console.log(data.toString())
  1. 流式读取createReadStream
    当读取文件的时候会将文件分块读取,每次读取64KB大小文件,读取大文件可以提高读取效率
const fs = require('fs')
// 创建流
const rs = fs.createReadStream('./劝学诗.txt')
// 绑定data事件
rs.on('data',chunk=>{
console.log(chunk)
})
// end 事件(可选)
res('end',()=>{
	console.log('读取完成')
})
延申-使用读取和写入实现文件复制功能

流式实现功能复制 实际内存占用量要比普通小很多

const fs = require('fs')
// 直接复制
// 读取文件 示例就用同步了
let data = fs.readFileSync('./劝学诗.txt')  
fs.writeFileSync('./劝学诗-1.txt',data)
// 流式复制(推荐)
//创建流式读取
const rs = fs.createReadStream('./劝学诗.txt')
// 创建流式写入
const ws = fs.creayteWriteStream('./劝学诗-2.txt')
// 绑定事件
rs.on('data',chunk=>{
	// 每读取成功一部分就写入一部分
	ws.write(chunk)
})


// 延申知识对于流式可写简便方式,这样也能实现流式的复制
rs.pipe(ws)
  • 学习的同时整理出来,供大家参考学习
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值