Node 内置模块 fs的基本使用
上一篇:
内置模块path 的基本使用
// 文件系统
// fs模块 对文件进行操作
//借助于node的封装不需要考虑系统问题直接操作文件
// 一 同步执行
// const file = "./bar.js"
// const info = fs.statSync(file)
// console.log("后续需要执行的代码");
// console.log(info);
// 二 异步执行
// const fs = require('fs')
// const filename= "./bar.js"
// fs.stat(filename,(err,info)=>{
// if(err){
// console.log(err);
// return
// }
// console.log(info);
// })
// console.log("后续需要执行的代码");
// 三 promise 的方式执行
// const fs = require('fs')
// const filename = "./bar.js"
// fs.promises.stat(filename).then(res=>{
// console.log(res);
// }).catch(res=>{
// console.log(res);
// })
// console.log("后续需要执行的代码");
// 文件描述符
// const fs = require('fs')
// const filename = "./bar.js"
// //获取文件描述符
// fs.open(filename,(err,info)=>{
// console.log(info);
// // 使用文件描述符
// const id = info
// fs.fstat(id,(ree,info)=>{
// console.log(info);
// })
// })
// // fs写入文件
// const fs = require('fs')
// let data = "写入的字符串"
// fs.writeFile('./bar.js',data,{flag:"a+",encoding:'utf-8'},err=>{
// console.log(err);
// })
// //fs 读取文件信息
// // 编码格式为ascii的时候读取中文会乱码
// fs.readFile('./bar.js',{encoding:'utf-8'},(err,data)=>{
// console.log(data);
// })
// 创建文件夹
// const fs = require('fs')
// const dirname = './afdadf'//文件夹名字
// if(!fs.existsSync(dirname)){//判断文件是否存在,存在的话不创建
// fs.mkdir(dirname,err=>{//创建文件夹
// console.log(err);
// })
// }else{
// console.log("文件已经存在!");
// }
//读取文件夹里面的所有文件并且打印文件名 遇到文件夹递归打印里面的文件
//第一种方法
// const fs =require('fs')
// const path = require('path')
// const dir = './esModule'
// function getfiles(dir){
// fs.readdir(dir,(err,files)=>{
// files.forEach(file=>{
// let filepath =path.resolve(dir,file)
// fs.stat(filepath,(err,st)=>{
// // st.isFile() 这个是判断是否是文件
// // st.isDirectory 这个是判断是否是文件夹
// if(st.isFile()){
// console.log(file);// 打印文件
// }else{
// getfiles(path.resolve(dir,file)) //遇到文件夹递归,打印文件夹里面的文件名称
// }
// })
// })
// // console.log(files);
// })
// }
// getfiles(dir)
// 第二种方法
// 使用readdir中的withFileTypes 设置这个参数为true
// const fs =require('fs')
// const path = require('path')
// const dir = './esModule'
// function getfiles(dir){
// fs.readdir(dir,{withFileTypes:true},(err,files)=>{
// files.forEach(file => {
// if(file.isFile()){
// console.log(file.name);
// }else{
// getfiles(path.resolve(dir,file.name))
// }
// });
// })
// }
// getfiles(dir)
// 文件夹重命名
// const fs = require('fs')
// const path = require('path')
// const dirname = './asdfadsad'
// fs.rename(dirname,'esModule',err=>{
// console.log(err);
// })
补充: 在node.js 中的相对路径指的是process.cwd()这个函数中的值。这个值是你启动项目的那个路径。而不是index.js这个文件所在的路径