Node 内置模块 fs 的使用

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值