【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('成绩写入成功!')
			}
		})
	}
})
相关推荐
Bellafu66627 分钟前
项目中遇到pom文件里使用systemPath的例子记录
开发语言
爱喝水的鱼丶37 分钟前
SAP-MM:SAP采购组织全面学习指南:从概念到实战配置图解
运维·开发语言·数据库·学习·sap·mm模块·采购组织
楼田莉子41 分钟前
Python学习——字典和文件
开发语言·python·学习·pycharm
知彼解己1 小时前
字符串大数相加:从初稿到优化的思路演进
java·开发语言·算法
好多171 小时前
《JVM如何排查OOM》
开发语言·jvm·python
学计算机的1 小时前
Python:OpenCV 教程
开发语言·python
拾忆,想起1 小时前
Redisson 分布式锁的实现原理
java·开发语言·分布式·后端·性能优化·wpf
大阳1231 小时前
51单片机4(温度传感器DS18B20)
开发语言·单片机·嵌入式硬件·算法·51单片机
北城以北88882 小时前
Java高级编程--XML
xml·java·开发语言·intellij-idea
冬天vs不冷2 小时前
Java基础(十一):关键字final详解
java·开发语言