【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('成绩写入成功!')
			}
		})
	}
})
相关推荐
Algebraaaaa1 小时前
为什么C++主函数 main 要写成 int 返回值 | main(int argc, char* argv[]) 这种写法是什么意思?
开发语言·c++
java1234_小锋2 小时前
一周学会Matplotlib3 Python 数据可视化-绘制饼状图(Pie)
开发语言·python·信息可视化
Hello.Reader2 小时前
Elasticsearch Node.js 客户端连接指南(Connecting)
elasticsearch·node.js·jenkins
悟能不能悟3 小时前
能刷java题的网站
java·开发语言
IT古董3 小时前
【第四章:大模型(LLM)】05.LLM实战: 实现GPT2-(6)贪婪编码,temperature及tok原理及实现
android·开发语言·kotlin
醉方休3 小时前
Node.js 精选:50 款文件处理与开发环境工具库
linux·运维·node.js
程序员陆通3 小时前
Java高并发场景下的缓存穿透问题定位与解决方案
java·开发语言·缓存
澡点睡觉4 小时前
golang的继承
开发语言·后端·golang
洛阳泰山6 小时前
基于 Easy Rules 的电商订单智能决策系统:构建可扩展的业务规则引擎实践
java·开发语言·规则引擎·easy rules
kushu76 小时前
Java 包
java·开发语言