fs 文件模块
fs.stat 检测是文件还是目录
const fs = require('fs')
fs.stat('./testdir',(err,data)=>{
if(err){
console.log(err)
return
}
console.log(`是文件:${data.isFile()}`)
console.log(`是目录:${data.isDirectory()}`)
})
/**
* 是文件:false
* 是目录:true
*/
fs.mkdir 创建目录
const fs = require('fs')
fs.mkdir('./testdir2',(err)=>{
if(err){
console.log(err)
return
}
console.log("创建成功")
})
/*
path: 将创建的目录路径
mode: 目录权限(读写权限),默认777
callback:回调,传递异常参数 err
*/
fs.writeFile 创建写入文件
如果这个文件不存在,会创建这个文件并写入,如果已存在,会执行替换操作
const fs = require('fs')
fs.writeFile('./testdir/test.txt','你好',(err)=>{
if(err){
console.log(err)
return
}
console.log("创建写入文件成功")
})

fs.appendFile 追加文件
如果这个文件不存在,会创建这个文件并写入,如果已存在,会在这个文件后面追加内容

fs.readFile 读取文件
const fs = require('fs')
const { Console } = require('console')
fs.readFile('./testdir/test.txt',(err,data)=>{
if(err){
console.log(err)
return
}
console.log(data) //<Buffer e4 bd a0 e5 a5 bd 68 65 6c 6c 6f>
console.log(data.toString()) //把Buffer 转化成string类型,你好hello
})
fs.readdir读取目录
const fs = require('fs')
fs.readdir('./testdir',(err,data)=>{
if(err){
console.log(err)
return
}
console.log(data)
})
/**
* [ 'test.txt' ]
*/
fs.rename 重命名 功能:①表示重命名 ②移动文件
const fs = require('fs')
fs.rename('./testdir/test.txt','./testdir/demo.txt',(err)=>{
if(err){
console.log(err)
return
}
console.log("重命名成功")
})
fs.rename('./testdir/demo.txt','./testdir2/demo.txt',(err)=>{
if(err){
console.log(err)
return
}
console.log("移动文件成功")
})
fs.rmdir 删除目录
当目录下有文件时,即目录不为空,不能删除,需要先删除目录中的所有文件后才能删除目录
const fs = require('fs')
fs.rmdir('./demodir',(err)=>{
if(err){
console.log(err)
return
}
console.log("删除目录成功")
})
fs.unlink 删除文件
const fs = require('fs')
fs.unlink('./demodir/demo.txt',(err)=>{
if(err){
console.log(err)
return
}
console.log("删除文件成功")
})
判断服务器上面有没有upload目录。如果没有创建这个目录,如果有的话不做操作
const fs = require('fs')
const path = './upload'
fs.stat(path,(err,data)=>{
if(err){ //没有这个目录
mkdir(path)
}
else if(!data.isDirectory()){ //不是文件夹,是文件
fs.unlink(path, (err) => { //删除这个文件
if(!err){
mkdir(path) //再创建目录
}
})
}
})
//创建目录
function mkdir(dir_path){
fs.mkdir(dir_path,(err)=>{
if(err){
console.log(err)
return
}
})
}
可以使用 mkdirp 模块直接实现
npm i mkdirp --save
var mkdirp = require('mkdirp');
mkdirp('./upload', function (err) {
if (err) {
console.error(err);
}
});
https://www.npmjs.com/package/mkdirp

浙公网安备 33010602011771号