【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('成绩写入成功!')
			}
		})
	}
})
相关推荐
神奇夜光杯3 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue6 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧7 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
测试界的酸菜鱼19 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
晨曦_子画28 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
Black_Friend36 分钟前
关于在VS中使用Qt不同版本报错的问题
开发语言·qt
希言JY1 小时前
C字符串 | 字符串处理函数 | 使用 | 原理 | 实现
c语言·开发语言
残月只会敲键盘1 小时前
php代码审计--常见函数整理
开发语言·php
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
ktkiko111 小时前
Java中的远程方法调用——RPC详解
java·开发语言·rpc