node笔记_读取目录的文件

文章目录

    • ⭐前言
    • ⭐fs.readdirSync
      • 读取目录 不加withFileTypes
      • 读取目录 加withFileTypes
      • 读取目录时 判断元素文件还是目录
    • ⭐结束

⭐前言

大家好,我是yma16,本文分享关于node读取目录文件
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件
node笔记_连接mysql实现crud
node笔记_formidable实现前后端联调的文件上传
node笔记_koa框架介绍
node_koa路由
node_生成目录
node_读写excel

⭐fs.readdirSync

读取目录内容

参数

  • path | |
  • options |
  • encoding 默认值: 'utf8'
  • withFileTypes 默认值: false
    返回: | |
  • 读取目录 不加withFileTypes

    示例目录如图:
    node笔记_读取目录的文件_第1张图片
    readdirSync读取 demo目录

    const fs=require('fs')
    let files = fs.readdirSync('./demo');
    console.log(files)
    

    结果
    node笔记_读取目录的文件_第2张图片
    返回的是字符串数组

    读取目录 加withFileTypes

    const fs=require('fs')
    let files = fs.readdirSync('./demo',{withFileTypes:true});
    console.log(files)
    

    返回的是对象数组

    • name 名字
    • Symbol(type) 类型 对象
      node笔记_读取目录的文件_第3张图片

    读取目录时 判断元素文件还是目录

    fs.statSync(path[, options])

    • path | |
    • options
    • bigint 返回的 对象中的数值是否应为 bigint。 默认值: false。
    • throwIfNoEntry 如果文件系统条目不存在,是否会抛出异常,而不是返回 undefined。 默认值: true。
      返回:
      boolean返回判断类型
    • isFile() 是文件
      isDirectory() 是目录

      const fs = require('fs')
      const path = require('path')
      
      function getDirFiles(getPath) {
      	let filesArray = [];
      
      	function findJsonFile(propPath) {
      		let files = fs.readdirSync(propPath, {
      			withFileTypes: true
      		});
      		files.forEach(function(item, index) {
      			let fPath = path.join(propPath, item.name);
      			let stat = fs.statSync(fPath);
      			if (stat.isDirectory() === true) {
      				// 递归目录
      				findJsonFile(fPath);
      			}
      			if (stat.isFile() === true) {
      				filesArray.push(fPath);
      				const data=fs.readFileSync(fPath,'utf-8')
      				console.log(data)
      			}
      		});
      	}
      	findJsonFile(getPath);
      	console.log(filesArray);
      }
      
      getDirFiles('./demo')
      

      运行结果如下:
      node笔记_读取目录的文件_第4张图片

      ⭐结束

      本文分享读取目录文件结束
      感谢你的阅读
      如有错误或者不足欢迎指出!

      你可能感兴趣的:(node.js,javascript)