node笔记_读取目录的文件

简介: node笔记_读取目录的文件

⭐前言

大家好,我是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 <string> | <Buffer> | <URL>
  • options <string> | <Object>
  • encoding <string> 默认值: 'utf8'
  • withFileTypes <boolean> 默认值: false
    返回: <string[]> | <Buffer[]> | <fs.Dirent[]>

💖 读取目录 不加withFileTypes

读取demo目录的实例,打印

示例目录如图:

readdirSync读取 demo目录,打印

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

结果如下:

结论:readdirSync执行之后返回的是字符串数组

💖 读取目录 加withFileTypes

读取demo目录加上withFileTypes参数,打印

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

返回的是对象数组

  • name 名字
  • Symbol(type) 类型 <fs.Dirent>对象

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

fs.statSync(path[, options])

  • path <string> | <Buffer> | <URL>
  • options <Object>
  • bigint <boolean> 返回的 <fs.Stats> 对象中的数值是否应为 bigint。 默认值: false。
  • throwIfNoEntry <boolean> 如果文件系统条目不存在,是否会抛出异常,而不是返回 undefined。 默认值: true。
    返回: <fs.Stats>
    boolean返回判断类型

isFile() 是文件

isDirectory() 是目录

读取demo路径,深度查找目录直到结束,打印文件。

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')

运行结果如下:

⭐结束

本文分享读取目录文件结束

💖感谢你的阅读 💖

如有错误或者不足欢迎指出!


目录
相关文章
|
4月前
|
JavaScript API
深入探索fs.WriteStream:Node.js文件写入流的全面解析
深入探索fs.WriteStream:Node.js文件写入流的全面解析
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
49 0
|
3月前
|
存储 JSON JavaScript
学习node.js十三,文件的上传于下载
学习node.js十三,文件的上传于下载
|
4月前
|
JavaScript
NodeJs——如何下载文件
NodeJs——如何下载文件
106 4
|
4月前
|
机器学习/深度学习 JavaScript
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
|
4月前
|
资源调度 前端开发 JavaScript
前端 nodejs 命令行自动调用编译 inno setup 的.iss文件
前端 nodejs 命令行自动调用编译 inno setup 的.iss文件
|
4月前
|
开发工具 git
IDEA——npm install 没有生成node_modules目录
IDEA——npm install 没有生成node_modules目录
298 0
|
5月前
|
JavaScript
Vue如何查看node版本---- package.json 文件中的 engines
Vue如何查看node版本---- package.json 文件中的 engines
|
5月前
|
JavaScript
TS,编写TS文件,编写hello.ts文件,cmd下打开终端,输入tsc hello.ts会生成一个hello.js文件,简化命令,npm i -g ts-node,ts-node hello.ts
TS,编写TS文件,编写hello.ts文件,cmd下打开终端,输入tsc hello.ts会生成一个hello.js文件,简化命令,npm i -g ts-node,ts-node hello.ts
|
6月前
|
数据采集 存储 编解码
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
105 0