File system:文件系统,用于操作文件与文件夹
·创建文件
fs.appendFile(filePath, content, callback);
filePath: 文件路径
content: 文件内容
callback: 回调函数
回调函数中有err 表示创建过程中可能出现的异常
该方法有两种用法,第一种创建文件(当文件不存在时),第二种追加内容(当文件已经存在时)
·读取文件
fs.readFile(filePath, callback);
filePath: 文件路径
callback: 回调函数
err: 读取过程中可能发生的错误 没错误时 err是null 有错误时 err时错误对象
data: 读取到的文件内容 它的类型时buffer
·删除文件
fs.unlink(filePath, callback);
filePath: 被删除的文件的地址
callback: 回调函数
·
·重命名
fs.rename(oldPath, newPath, callback);
oldPath: 原路径
newPath: 新路径
callback: 回调函数
·创建文件夹
fs.mkdir(dirPath, callback);
dirPath: 文件夹路径
callback: 回调函数
·删除文件夹
fs.rmdir(dirPath, callback);
dirPath: 被删除的文件夹
callback: 回调函数
该方法只可以删除空目录
·读取文件夹
fs.readdir(dirPath, callback);
dirPath: 被读取的文件夹
callback: 回调函数
err: 错误对象
arr: 被读取的文件夹中所有文件与文件夹名组成的数组
·判断目标是文件还是文件夹
fs.stat(path, callback);
path: 目标路径
callback: 回调函数
err: 错误对象
state: 根据目标生成的一个对象 该对象有一个方法 isDirectory() 返回布尔值 如果是true 说明是文件夹 否则 说明是文件
·删除非空目录
var fs = require("fs");
function del(dirPath) {
// 读取该文件夹
var arr = fs.readdirSync(dirPath)
// 循环
for(var i = 0; i < arr.length; i++) {
var state = fs.statSync(dirPath + "/" + arr[i]);
if (state.isDirectory()) {
del(dirPath + "/" + arr[i]);
} else {
fs.unlinkSync(dirPath + "/" + arr[i])
}
}
// 最后删除文件夹
fs.rmdirSync(dirPath);
}
module.exports = del;