[内置模块fs]
node提供了一个内置模块叫fs(filesystem),专门用来操作文件的
可以读取一个文件的内容,也可以把内容写入到一个文件
语法
导入模块
require('模块名')
//const fs = require('fs)(一般会定义一个变量名接受)
读取文件
fs.readFile('文件的路径',(err,data) =>{
})
不管是读取成功,还是读取失败,都会调用这个回调函数。
如果读取失败, err里就会有错误信息。
如果读取成功, err为空, data里就会有读取的内容
写入文件
fs.writeFile('文件的路径',写入的内容,err =>{
})
写入完成调用的回调函数。
如果成功err就为空,如果失败err就有值
实际应用
既然明白了语法,我们直接上案例实战
//导入fs模块
const fs= require('fs')
//读取文件
//参数1:读取的文件路径
//参数2:读取完毕的回调函数
fs.readFile('./1.txt',(err,data)=>{
//如果读取成功err为空,如果读取失败err有值
if(!err){
//读取成功,data有值
//默认读取到的是这个文件的二进制(0和1的组合)的16进制 的表现形式
//console.log('读取成功',data);
//如果想把他转换成字符串,只需要调用toString()方法即可
console.log('读取成功',data.toString());
}else{
//读取失败err有值
console.log('读取失败,err');
}
})
const str =`
一点朱唇万人尝\n
一双玉璧万人枕\n
`
//写入内容
//参数一:写入文件路径(写入时不存在这个文件,会自动帮你创建)
//参数二:写入的内容
//参数三:回调函数(完成的回调函数)
fs.writeFile('./4.txt',str,err =>{
if(err){
console.log('写入失败');
}else{
console.log('写入成功');
}
})
//如果写入时有这个文件,就是新内容替换
fs.readFile('./4.txt',(err,data)=>{
if(!err){
console.log('读取成功',data.toString());
}else{
console.log('读取失败,err');
}
})