【node.js】01-fs读写文件内容

目录

[一、fs.readFile() 读取文件内容](#一、fs.readFile() 读取文件内容)

[二、fs.writeFile() 向指定的文件中写入内容](#二、fs.writeFile() 向指定的文件中写入内容)

案例:整理txt

需求:

代码:


一、fs.readFile() 读取文件内容

代码:

javascript 复制代码
//导入fs模块,从来操作文件
const fs = require('fs')

// 2.调用 fs.readFile() 方法读取文件
// 参数1:读取文件的存放路径
// 参数2: 读取文件时候采用的编码格式,一般默认指定 utf8
// 参数3: 回调函数,拿到读取失败和成功的结果err、dataStr
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {
	// 如果读取成功,则 err 的值为 nul1
	// 如果读取失败,则 err 的值为 错误对象,datastr 的值为 undefined
	console.log(err) //失败的结果
	console.log(dataStr) //成功的结果
})

结果:

判断文件是否读取成功:

javascript 复制代码
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {
	if (err) {
		return console.log('读取文件失败!' + err.message)
	}
	console.log('读取文件成功!' + dataStr)
})

二、fs.writeFile() 向指定的文件中写入内容

代码:

javascript 复制代码
//导入fs模块,从来操作文件
const fs = require('fs')

// 2.调用 fs.writeFile() 方法读取文件
// 参数1: 表示文件的存放路径
// 参数2: 表示要写入的内容
// 参数3: 编码
// 参数4:回调函数
fs.writeFile('./files/2.txt', 'Hello World', 'utf8', function(err) {
	if (err) {  //判断文件是否写入成功
		return console.log('文件写入失败!' + err.message)
	}
	console.log('文件写入成功!')
})

案例:整理txt

需求:

现在有一个整理前的文件内容如下所示:

我们想将其内容进行整理,整理后的文件内容如下:

代码:

javascript 复制代码
const fs = require('fs')

fs.readFile('files/整理前.txt', 'utf8', function(err, datastr) {
	if (err) {
		console.log('读取文件失败!' + err.message)
	} else {
		// console.log('读取文件成功!' + datastr)
		var arrOld = datastr.split(' ')  //按空格将字符串拆分成数组

		var arrNew = []
		arrOld.forEach(item => {   //遍历数组
			arrNew.push(item.replace('=', ':'))   //将item字符串中的=号替换为:
		})
		// console.log(arrNew)

		var newStr = arrNew.join('\r\n')  //合并数组
		// console.log(newStr)

		fs.writeFile('files/整理后.txt', newStr, function(err) {
			if (err) {
				console.log('文件写入失败!' + err.message)
			} else {
				console.log('成绩写入成功!')
			}
		})
	}
})
相关推荐
BD_Marathon6 小时前
设计模式——依赖倒转原则
java·开发语言·设计模式
devmoon6 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Evand J6 小时前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop
野犬寒鸦6 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
云姜.6 小时前
java抽象类和接口
java·开发语言
xyq20247 小时前
Pandas 安装指南
开发语言
何中应7 小时前
nvm安装使用
前端·node.js·开发工具
xixixin_7 小时前
【JavaScript 】从 || 到??:JavaScript 空值处理的最佳实践升级
开发语言·javascript·ecmascript
m0_736919107 小时前
C++中的委托构造函数
开发语言·c++·算法
lsx2024067 小时前
Python3 SMTP发送邮件教程
开发语言