引入fs模块 file system(文件系统) fs模块是node内置的核心模块
const fs = require('fs');
fs.readFile异步读取文件方法
fs.readFile(文件的路径,回调函数)
回调函数:异步的
err 如果文件的路径不存在 则err就是一个错误对象
data 如果文件的路径存在 则data就是读取出的数据 数据是Buffer格式的
Buffer格式的数据可以使用toString()转成字符串
例:
1.txt:
我是海绵宝宝
fs.js:
(1.txt 与 fs.js在同一文件夹内)
const fs = require('fs');//引入fs模块 file system(文件系统) fs模块是node内置的核心模块
fs.readFile('./1.txt',function(err,data){
console.log(err,data.toString())
})
控制台通过node执行fs.js文件:
若data没有toString转字符串,则输出的数据是16进制的Buffer格式
fs.readFileSync同步读取文件方法
const data = fs.readFileSync(文件的路径) //函数的返回值是读取文件的数据
例:
const fs = require('fs');
const data = fs.readFileSync('./1.txt');
console.log(data.toString())
文件读取方法还可以读取图片视频等文件
fs.unlinkSync同步删除文件方法
fs.unlinkSync('./1.txt');
fs.rmdirSync同步删除指定的文件夹
fs.rmdirSync('./abc');
fs.mkdirSync同步创建文件方法
fs.mkdirSync('./1.txt');
fs.readdir读取指定文件夹的数据
fs.readdir('./abc');
fs.statSync查看文件/文件夹的状态
console.log(fs.statSync('./1.txt'));
fs.existsSync判断文件是否存在
console.log(fs.existsSync('./1.txt'));
fs.rename把原来的文件从老路径移到新路径 并且修改文件名
//fs.rename(老路径,新路径,回调函数)
fs.rename('./1.txt','./bac/2.txt',function (err,data) {
console.log(err, data);
})
fs.watchFile文件监听方法监听文件改变后触发
//fs.watchFile(需监听文件的路径,监听的频率,回调函数)
//监听1.txt interval:20每毫秒监听一次 nextStat是改变后的文件状态 preStat改变前的文件状态
fs.watchFile('./1.txt',{interval:20},function(nextStat,preStat){
console.log(nextStat.size,preStat.size)
})