Node 内置模块 fs 的使用

Node 内置模块 fs的基本使用

// 文件系统
// 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这个文件所在的路径

经验分享 程序员 微信小程序 职场和发展