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