node fs模块的prmoise方式的常用方法

本文档介绍了Node.js中fs模块的同步和异步方法,包括读取、写入、获取文件详情、删除文件以及列出目录内容等操作。示例代码展示了如何使用Promise API进行文件系统的操作,即使该API处于实验阶段,仍可安全使用。
摘要由CSDN通过智能技术生成

node相关模块文档

  1. node fs同步异步的方法
  2. node path模块

prmose Api会提示时实验阶段,但不影响我们使用

var fs = require('fs').promises;

// 读取文件
const getFile = (url, chart="utf-8") => {
  return fs.readFile(url, chart);
}
module.exports.getFile = getFile;

// 写入文件
const setFile = (url, data) => {
  return fs.writeFile(url, data);
}
module.exports.setFile = setFile;

// 文件详情
const getDetailFile = (url) => {
  return new Promise((resolve,reject)=>{
    fs.stat(url).then(stat => {
      let isFile = stat.isFile(); // 是否为文件
      let isDirectory = stat.isDirectory(); // 是否为文件夹
      resolve({...stat,isFile,isDirectory});
    }).catch(err => {
      reject(err);
    })
  })
  
}
module.exports.getDetailFile = getDetailFile;

// 删除文件
const removeFile = (url) => {
  return fs.unlink(url)
}
module.exports.removeFile = removeFile;

// 获取当前路径下的文件和文件夹列表
// isFilter 是否过滤隐藏文件
// arr 需要过滤的关键词
const getFileList = (path,isFilter=true,arr=[]) => {
  return new Promise((resolve,reject) => {
    fs.readdir(path).then(res => {
      let data = res;
      if (isFilter) {
        data = data.filter(item=> {
          return item.indexOf('.') != 0;
        })
      }
      if (arr.length>0) {
        data.filter(item => {
          return !arr.includes(item);
        })
      }
      resolve(data)
    }).catch(err => {
      reject(err);
    })
  })
}
module.exports.getFileList = getFileList;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值