当前位置:首页 > JavaScript

js实现操作文件夹

2026-01-31 09:31:45JavaScript

使用Node.js操作文件夹

Node.js内置的fs模块提供文件系统操作功能,可以创建、读取、删除文件夹。以下是常用方法:

安装Node.js 确保已安装Node.js环境,官网下载安装包进行安装。

引入fs模块

const fs = require('fs');
const path = require('path');

创建文件夹

使用fs.mkdirfs.mkdirSync(同步版本):

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

// 同步创建
try {
  fs.mkdirSync('./syncFolder');
  console.log('同步创建成功');
} catch (err) {
  console.error(err);
}

递归创建多级目录

使用recursive: true选项:

fs.mkdir('./parent/child/grandchild', { recursive: true }, (err) => {
  if (err) throw err;
});

读取文件夹内容

通过fs.readdir获取文件列表:

fs.readdir('./targetFolder', (err, files) => {
  if (err) throw err;
  files.forEach(file => {
    console.log(file);
  });
});

删除文件夹

使用fs.rmdir(空目录)或fs.rm(Node.js v14.4+支持递归删除):

// 删除空目录
fs.rmdir('./emptyFolder', (err) => {
  if (err) throw err;
});

// 递归删除(包括非空目录)
fs.rm('./nonEmptyFolder', { recursive: true }, (err) => {
  if (err) throw err;
});

检查文件夹是否存在

fs.access('./checkFolder', fs.constants.F_OK, (err) => {
  console.log(err ? '不存在' : '存在');
});

路径拼接与解析

使用path模块处理路径:

const fullPath = path.join(__dirname, 'subfolder', 'file.txt');
const dirName = path.dirname(fullPath); // 获取目录名

遍历文件夹(递归示例)

function traverseDir(dir) {
  fs.readdirSync(dir).forEach(file => {
    let fullPath = path.join(dir, file);
    if (fs.statSync(fullPath).isDirectory()) {
      traverseDir(fullPath); // 递归子目录
    } else {
      console.log(fullPath);
    }
  });
}
traverseDir('./startFolder');

注意事项

  1. 异步方法推荐配合async/await使用
  2. 操作前应检查权限和路径有效性
  3. Windows和Unix路径差异需注意
  4. 批量操作建议使用Promise.all处理

完整示例(创建并写入文件)

const folderPath = './data/logs';
if (!fs.existsSync(folderPath)) {
  fs.mkdirSync(folderPath, { recursive: true });
}
fs.writeFileSync(path.join(folderPath, 'app.log'), 'Log content');

对于更复杂的文件操作,可考虑使用第三方库如:

js实现操作文件夹

  • fs-extra(增强版fs)
  • glob(模式匹配文件搜索)
  • chokidar(文件监视)

标签: 文件夹操作
分享给朋友:

相关文章

php实现登录的操作

php实现登录的操作

PHP 登录功能实现 数据库准备 创建用户表存储用户名和密码(密码需加密存储) CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY,…

php实现文件读写操作

php实现文件读写操作

文件读取操作 使用file_get_contents函数可以快速读取整个文件内容到一个字符串中。适合读取小文件,简单高效。 $content = file_get_contents('example…

php实现网盘文件夹

php实现网盘文件夹

PHP实现网盘文件夹功能 使用PHP实现网盘文件夹功能需要处理文件上传、目录管理、权限控制等核心模块。以下是具体实现方法: 数据库设计 创建必要的数据库表存储文件和文件夹信息: CREAT…

js实现操作

js实现操作

JavaScript 实现操作的方法 JavaScript 提供了多种方式来实现操作,包括 DOM 操作、事件处理、异步编程等。以下是几种常见操作的实现方法。 DOM 操作 通过 JavaScrip…

jquery数组操作

jquery数组操作

jQuery 数组操作 jQuery 本身并不直接提供数组操作的方法,但可以结合 JavaScript 原生数组方法和 jQuery 的实用函数来实现常见的数组操作。以下是几种常见的数组操作方法:…

如何创建java文件夹

如何创建java文件夹

使用命令行创建Java文件夹 在命令行或终端中,可以使用mkdir命令创建文件夹。打开命令行工具,导航到希望创建文件夹的目录,执行以下命令: mkdir java 如果需要创建嵌套的文件夹结构(例如…