1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
   | //文件系统 const fs = require('fs')
  //同步读取 const fileData = fs.statSync(path) // 后续代码被阻塞 不会继续执行
  //异步读取 获取到结果后回调执行 fs.stat(filepath,(err,info)=>{     if(err){         console.log(err)         return false     }     console.log(info) })
  //promise方式 代码不会被阻塞 fs.promises.stat(filepath).then(res=>{     console.log(res) }).catch(err=>{     console.log(err) })
  //文件描述符 //返回描述符 fs.open(filepath,(err,fd //文件描述符(数字)可以通过这个描述符获取文件信息)=>{     if(err)=>{         console.log(err)         return false     }     //通过描述符获取文件信息 fs.fstat 	fs.fstat(fd,(err,info)=>{ 		console.log(info//文件信息) 		console.log(info.isDirectory()//判断是否是文件夹) 	}) })
  //文件读写 const str = '123' options有两个选项' flag: w打开文件写入 默认值 w+打开文件进行读写 如果不存在则创建并写入 r+打开文件进行1读写,如果不存在则抛出异常 r打开文件读取,读取时默认值 a打开要写入的文件,将流放在文件末尾,如果不存在则创建文件 a+打开文件以进行读写,将流放在末尾,如果不存在则创建文件 fs.writeFile('/1.txt',content,{flag:'a',encoding:''},(err)=>{     if(err){         console.log(err)     } })
  //文件读取 如果不填写encoding,呢嘛返回buffer fs.readFile('',{encoding:'utf-8'},(err,data)=>{     console.log(data) //buffer二进制在不使用encoding的情况下 })
  //文件夹操作 1:创建文件夹 const dirname = './why' if(fs.existsSync(dirname) //检测文件夹是否存在){     fs.mkdir(dirname,err => { 		console.log(err) 	}) } fs.mkdir //盲猜可以弄个脚本自动生成组件文件夹名 2:读取文件夹中所有文件 const readdir(dirname,(err,files)=>{     console.log(files)//获取所有文件 }) //递归调用读取文件名 const getFiles = (dirname)=>{     fs.readdir(firname,{withFileTypes:true},(err,files)=>{         console.log(files)         file.forEach(item=>{             if(item.isDirectory()){              	const filepath = path.resolve(dirname,item.name)                 getFiles(filepath)             }else{                 console.log(item.name)             }         })     }) } getFiles(dirname) 3:文件夹重命名 fs.rename(旧名称,新名称,err=>{ 	console.log(err) }) fs.rename('./why','./kobe',err=>{     console.log(err) })
   |