js实现文件夹
使用JavaScript创建文件夹
在浏览器端的JavaScript中无法直接操作文件系统创建文件夹,这是出于安全考虑。但在Node.js环境中可以通过文件系统模块(fs)实现。
Node.js中使用fs.mkdir()方法创建文件夹:
const fs = require('fs');
fs.mkdir('./newFolder', (err) => {
if (err) throw err;
console.log('文件夹创建成功');
});
递归创建多级目录
使用fs.mkdir()的recursive选项可以创建多级目录:
fs.mkdir('./parent/child/grandchild', { recursive: true }, (err) => {
if (err) throw err;
});
检查文件夹是否存在
创建前先检查文件夹是否存在:
fs.access('./folder', fs.constants.F_OK, (err) => {
if (err) {
fs.mkdir('./folder', (err) => {});
}
});
浏览器中的替代方案
在浏览器中可以通过以下方式模拟:
- 使用
<input type="file" webkitdirectory>让用户选择文件夹 - 通过IndexedDB存储分层数据模拟文件夹结构
- 使用Web Storage API存储键值对
使用Promise版本
Node.js 10+支持Promise版本的fs模块:
const fs = require('fs').promises;
async function createFolder() {
try {
await fs.mkdir('./newFolder');
} catch (err) {
console.error(err);
}
}
删除文件夹
删除文件夹使用fs.rmdir():
fs.rmdir('./folder', (err) => {
if (err) throw err;
});
递归删除使用第三方模块如rimraf或Node.js 12.10+的fs.rm():
fs.rm('./folder', { recursive: true }, (err) => {});






