一.fs.readFile()方法
1.函数介绍
//fs.readFile()函数是用来读取指定文件内容的
//fs.readFile()函数有三个参数
//参数一(必填):文件的url(地址值)
//参数二(可选):文件的编码格式,默认指定为utf8
//参数三(必填):回调函数(用来返回文件读取成功的结果或者失败的原因)
//参数三的回调参数有两个形参
//err是读取失败返回的错误结果(起名随意,记住第一个形参是返回错误原因就行)
//dataStr是读取成功返回文件读取的结果(起名随意,记住第二个形参是返回正确结果就行)
fs.readFile('文件的地址值', 'utf8', (err, dataStr) => {})
2.函数使用
创建一个指定的文件,笔者这里在E:\这是阿朔的文件夹\CSDN\2024.10.28\Files目录下创建的一个文件,内容为fs.readFile()的使用方法
创建一个js文件,笔者这里在E:\这是阿朔的文件夹\CSDN\2024.10.28目录下创建了一个js文件
在js文件中写下以下代码
//引入fs模块
const fs = require('fs')
//使用fs.readFile读取指定文件
//如果读取成功,err的值为null
//如果读取失败,err的值为错误对象,dataStr的值为undefined
fs.readFile('./Files/01-readFile()方法.txt', 'utf8', (err, dataStr) => {
if(dataStr){
console.log('读取文件成功', dataStr)
}else{
console.log('读取文件失败', err)
}
})
然后在当前js所存在文件夹上方目录表输入cmd
打开命令行窗口后输入 node 想要执行js文件的文件名
以下是正确结果
错误结果示例
错误的原因有很多种,多半是路径写错或者文件名不对。
3.多学一点-函数默认编码形式输出(buffer形式)
如果不给fs.readFile()函数添加编码形式输出会是什么样子呢
const fs = require('fs')
fs.readFile('./Files/01-readFile()方法.txt',(err, dataStr) => {
if(dataStr){
console.log('读取文件成功', dataStr)
}else{
console.log('读取文件失败', err)
}
})
结果
以buffer格式进行输出
buffer格式是node.js一种数据格式 就像数组和对象一样
const fs = require('fs')
fs.readFile('./Files/01-readFile()方法.txt',(err, dataStr) => {
if(dataStr){
console.log('读取文件成功', dataStr.toString())
}else{
console.log('读取文件失败', err)
}
})
将dataStr使用toString函数进行字符串转换就可以了, 因为toString()函数的原理也是使用utf8编码,所以跟上方直接使用形参无异。
二.fs.writeFile()方法
1.函数介绍
//fs.writeFile()函数是用来写入指定文件内容的
//fs.writeFile()函数有四个参数
//参数一(必填):文件的url(地址值)
//参数二(必填):要写入的内容
//参数三(选填):文件的编码格式,不写此参时默认为utf8
//参数四(必填):回调函数(用来返回文件写入失败的原因)
fs.writeFile('文件的地址值', '要写入的内容', (err) => {})
2.函数使用
创建一个指定的文件,笔者这里在E:\这是阿朔的文件夹\CSDN\2024.10.28\Files目录下创建的一个文件,内容为空
创建一个js文件,笔者这里在E:\这是阿朔的文件夹\CSDN\2024.10.28目录下创建了一个js文件
在js文件中写下以下代码
const fs = require('fs');
fs.writeFile('./Files/02-writeFile()方法.txt', 'writeFile()的使用方法', (err) => {
if(err){
console.log('文件写入失败', err)
}else{
console.log('文件写入成功')
}
})
在当前目录下打开cmd运行js文件
成功示例
失败示例(路径不对)
3.注意事项
1.使用fs.writeFile()写入的时候如果原文件中有值的话,则会覆盖掉其中的值
2.使用fs.writeFile()写入的时候如果当前文件夹下面没有当前要写入的文件名,则会新建写入文件名的文本文件进行内容的写入。但如果不存在该文件夹,则会报错。