【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('成绩写入成功!')
			}
		})
	}
})
相关推荐
你怎么知道我是队长6 小时前
C语言---枚举变量
c语言·开发语言
李慕婉学姐6 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫6 小时前
quecpython中&的具体含义和使用场景
开发语言·python
云栖梦泽6 小时前
易语言中小微企业Windows桌面端IoT监控与控制
开发语言
数据大魔方6 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
Edward.W8 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer8 小时前
Python字符串
开发语言·数据库·python
月疯8 小时前
各种信号的模拟(ECG信号、质谱图、EEG信号),方便U-net训练
开发语言·python
荒诞硬汉8 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国8 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos