引入fs模块 const fs = require("fs")
1. fs.access 检测 path 指定的文件或目录的用户权限
//- path
//- mode 默认fs.constants.F_OK / ~R_OK / ~W_OK
// (文件存在?/可读?/可写?)
fs.stat(path, function(err, stats) {
if (err) {
console.log(err)
return false
}
console.log("文件:" + stats.isFile())
console.log("目录:" + stats.isDirectory())
})
2. fs.mkdir 创建目录
//接收参数:
//path 将创建的目录路径
//options <Object> | <integer>
// recursive <boolean> 默认为 false。是否创建父目录
// mode <integer> 不支持 Windows 平台。默认为 0o777
//callback 回调,传递异常参数err
fs.mkdir(fileNmae, function(err) {
if (err) {
console.log(err)
return false
}
console.log("创建目录成功")
})
3. fs.writeFile 创建写入文件
//filename (String) 文件名称
//data (String | Buffer) 将要写入的内容,可以使字符串 或 buffer数据。
//options (Object) option数组对象,包含:
//· encoding (string) 可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。
//· mode (Number) 文件读写权限,默认值 438
//· flag (String) 默认值 ‘w'
//callback {Function} 回调,传递一个异常参数err。
fs.writeFile(path, "覆盖原内容", "utf8", function(err) {
if (err) {
console.log(err)
return false
}
console.log("写入成功")
})
4. fs.appendFile 追加文件
fs.appendFile(path, "这是写入的内容", function(err) {
if (err) {
console.log(err)
return false
}
console.log("写入成功")
})
5.fs.readFile 读取文件默认Buffer
fs.readFile(path, function(err, data) {
if (err) {
console.log(err)
return false
}
console.log(data)
// console.log(data.toString())
})
6.fs.readdir读取目录 把目录下面的文件和文件夹都获取到。
fs.readdir(dirPath, function(err, data) {
if (err) {
console.log(err)
return false
}
console.log("array:", data)
})
7.fs.rename 重命名
//1.改名 2.剪切文件(路径不同时)
fs.rename(oldPath, newPath, function(err) {
if (err) {
console.log(err)
return false
}
console.log("修改名字成功")
})
8. fs.rmdir 删除目录
fs.rmdir(path, function(err) {
if (err) {
console.log(err)
return false
}
console.log("删除目录成功")
})
9. fs.unlink删除文件
fs.unlink(path, function(err) {
if (err) {
console.log(err)
return false
}
console.log("删除文件成功")
})
10.文件流读写
// 简单读写
const readerStream = fs.createReadStream(originPath)
const writerStream = fs.createWriteStream(tagetPath)
readerStream.pipe(writerStream)