当前位置:首页 > JavaScript

js实现文件夹

2026-04-03 22:50:36JavaScript

JavaScript 实现文件夹操作的方法

在 JavaScript 中,文件夹操作通常涉及 Node.js 的文件系统模块(fs)。以下是在 Node.js 环境中创建、读取和删除文件夹的方法:

创建文件夹

使用 fs.mkdir()fs.mkdirSync() 方法创建文件夹:

const fs = require('fs');

// 异步创建文件夹
fs.mkdir('newFolder', (err) => {
  if (err) throw err;
  console.log('Folder created');
});

// 同步创建文件夹
try {
  fs.mkdirSync('newFolder');
  console.log('Folder created');
} catch (err) {
  console.error(err);
}

递归创建多级文件夹

使用 { recursive: true } 选项创建多级目录:

fs.mkdir('path/to/newFolder', { recursive: true }, (err) => {
  if (err) throw err;
});

读取文件夹内容

使用 fs.readdir()fs.readdirSync() 读取文件夹内容:

// 异步读取
fs.readdir('folderName', (err, files) => {
  if (err) throw err;
  files.forEach(file => {
    console.log(file);
  });
});

// 同步读取
try {
  const files = fs.readdirSync('folderName');
  files.forEach(file => {
    console.log(file);
  });
} catch (err) {
  console.error(err);
}

删除文件夹

使用 fs.rmdir()fs.rmdirSync() 删除空文件夹:

// 异步删除
fs.rmdir('folderName', (err) => {
  if (err) throw err;
  console.log('Folder deleted');
});

// 同步删除
try {
  fs.rmdirSync('folderName');
  console.log('Folder deleted');
} catch (err) {
  console.error(err);
}

递归删除非空文件夹

Node.js 14+ 提供了 { recursive: true } 选项:

fs.rm('folderName', { recursive: true }, (err) => {
  if (err) throw err;
  console.log('Folder deleted');
});

检查文件夹是否存在

使用 fs.existsSync() 检查文件夹是否存在:

if (fs.existsSync('folderName')) {
  console.log('Folder exists');
} else {
  console.log('Folder does not exist');
}

浏览器环境中的文件夹操作

在浏览器环境中,可以使用 File System Access API(需要用户授权):

js实现文件夹

async function handleFolder() {
  const dirHandle = await window.showDirectoryPicker();
  for await (const entry of dirHandle.values()) {
    console.log(entry.name);
  }
}

注意:浏览器 API 需要 HTTPS 环境或 localhost 才能正常工作。

标签: 文件夹js
分享给朋友:

相关文章

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…