fs模块是Nodejs内置的模块
FS模块全称: file System 文件系统。
作用是用于操作文件夹以及文件的,使用的时候要引入fs模块(通过require引入)。
操作文件是异步的,因此fs模块为每一个操作提供了两个方法:
同步方法(sync),异步方法(回调函数监听)
创建文件
fs.appendFile(fileName, content, callback)
fileName: 创建的文件名称(合法的路径)
content: 追加的内容
callback:
参数表示错误异常
如果创建成功 则返回null,如果创建失败 则返回一个错误对象
创建文件夹
fs.mkdir(pathName, callback)
pathName: 文件夹名称
callback: 回调函数
参数表示错误异常
如果创建成功 则返回null,如果创建失败 则返回一个错误对象
删除文件:
fs.unlink(fileName, callback)
fileName: 要删除的文件
callback: 回调函数
参数表示错误异常
如果删除成功 则返回null,如果删除失败 则返回一个错误对象
删除文件夹
fs.rmdir(dirName, callback)
注意: 该方法只能删除空文件夹
dirName: 要删除的文件夹名称
callback: 回调函数
参数表示错误异常
如果删除成功 则返回null,如果删除失败 则返回一个错误对象
修改文件(文件名,剪切文件,修改文件夹,剪切文件夹)
fs.rename(oldName, newName, callback)
oldName: 原来的路径
newName: 新的路径
callback: 回调函数
参数表示错误异常
如果修改成功 则返回null,
读取文件
fs.readFile(fileName, callback)
fileName: 要读取的文件名称
callback: 回调函数,有两个参数:
第一个参数:错误异常
如果创建成功 则返回null,
如果创建失败 则返回一个错误对象
第二个参数 读取成功时候的数据
默认是Buffer数据 我们可以调用toString方法转为字符串之后查看
判断文件的状态
fs.stat(targetName, callback)
targetName: 要判断的文件名称
callback: 回调函数,有两个参数:
第一个参数是错误异常
第二个 是状态对象
状态对象:
isDirectory() 判断是文件还是文件夹 true为文件夹 false为文件
isFile() 判断是否为文件
读取文件夹
fs.readdir(dirName, callback)
dirName: 读取的文件夹的名称
callback: 回调函数,有两个参数
第一个参数表示错误异常
第二个参数是一个数组,数组中的每一项都是读取到的每一个文件或者文件夹
检测文件是否存在
fs.exists(path, callback)
path:检测的路径
callback:返回布尔值,存在为true,不存在为false
封装方法 删除非空目录
// 引入方法 let { readdirSync, statSync, unlinkSync, rmdirSync } = require(‘fs‘); function del(dir) { // 防止同步操作出现错误,中断程序执行 try { // 非空目录不能直接删除, // 读取目录中,所有文件和文件夹 let arr = readdirSync(dir); // 逐一遍历,如果文件,将其删除,如果是文件夹递归调用该方法将其内部文件和文件夹删除 // 遍历数组 for (let item of arr) { // 获取完整路径 let path = dir + ‘/‘ + item; // item代表目录中的每一个文件或者是文件夹 let state = statSync(path) // console.log(state); // 判断是不是文件夹 if (state.isDirectory()) { // 递归调用删除 del(path) } else { // 直接删除文件 unlinkSync(path) } } // 删除外部的文件夹 rmdirSync(dir) } catch (e) { console.log(e) } } del(‘a‘)
原文:https://www.cnblogs.com/yess/p/14726449.html