Node.js 教程
Node.js 基础
Node.js 概述
Node.js 环境搭建
Node.js 基础语法
Node.js 模块
Node.js 异步编程
Node.js 核心模块
Node.js文件系统
Node.js路径模块(path)
Node.js的HTTP模块
Node.js的url模块
Node.js流模块(stream)
Node.js 常用工具与框架
npm 与包管理
Express 框架
数据库操作
Socket.io 与 WebSocket
Node.js 实战项目
Web 应用开发
API 开发
爬虫应用
自动化脚本
Node.js部署与优化
部署 Node.js 应用
Node.js性能优化
Node.js应用的安全性
Node.js 高级话题
Node.js中的设计模式
TypeScript 与 Node.js
GraphQL 与 API 开发
-
+
首页
Node.js文件系统
在 Node.js 中,文件系统模块(`fs`)提供了对文件系统的访问功能,可以用来创建、读取、写入和删除文件/目录等操作。以下是关于 `fs` 模块的常见操作及其代码示例: --- ### **1. 创建目录** 在 Node.js 中,可以使用 `fs.mkdir`(异步)或 `fs.mkdirSync`(同步)方法来创建目录。 #### **异步创建目录** ```javascript const fs = require('fs'); // 异步创建目录 fs.mkdir('new-folder', (err) => { if (err) { console.error('创建目录失败:', err); } else { console.log('目录创建成功!'); } }); ``` #### **同步创建目录** ```javascript const fs = require('fs'); try { // 同步创建目录 fs.mkdirSync('new-folder'); console.log('目录创建成功!'); } catch (err) { console.error('创建目录失败:', err); } ``` --- ### **2. 读取目录内容** `fs.readdir`(异步)或 `fs.readdirSync`(同步)方法可以用来读取目录的内容。 #### **异步读取目录内容** ```javascript const fs = require('fs'); // 异步读取目录内容 fs.readdir('existing-folder', (err, files) => { if (err) { console.error('读取目录失败:', err); } else { console.log('目录内容:', files); } }); ``` #### **同步读取目录内容** ```javascript const fs = require('fs'); try { // 同步读取目录内容 const files = fs.readdirSync('existing-folder'); console.log('目录内容:', files); } catch (err) { console.error('读取目录失败:', err); } ``` --- ### **3. 删除目录** `fs.rmdir`(异步)或 `fs.rmdirSync`(同步)方法可以用来删除目录。需要注意的是,如果目录非空,默认情况下这两个方法会抛出错误。 #### **异步删除空目录** ```javascript const fs = require('fs'); // 异步删除目录 fs.rmdir('empty-folder', (err) => { if (err) { console.error('删除目录失败:', err); } else { console.log('目录删除成功!'); } }); ``` #### **同步删除空目录** ```javascript const fs = require('fs'); try { // 同步删除目录 fs.rmdirSync('empty-folder'); console.log('目录删除成功!'); } catch (err) { console.error('删除目录失败:', err); } ``` --- ### **4. 文件操作** #### **创建和写入文件** 可以使用 `fs.writeFile`(异步)或 `fs.writeFileSync`(同步)方法创建和写入文件。 **异步写入文件** ```javascript const fs = require('fs'); // 异步写入文件 fs.writeFile('new-file.txt', 'Hello, Node.js!', (err) => { if (err) { console.error('写入文件失败:', err); } else { console.log('文件写入成功!'); } }); ``` **同步写入文件** ```javascript const fs = require('fs'); try { // 同步写入文件 fs.writeFileSync('new-file.txt', 'Hello, Node.js!'); console.log('文件写入成功!'); } catch (err) { console.error('写入文件失败:', err); } ``` #### **读取文件** 使用 `fs.readFile`(异步)或 `fs.readFileSync`(同步)方法读取文件内容。 **异步读取文件** ```javascript const fs = require('fs'); // 异步读取文件 fs.readFile('existing-file.txt', 'utf8', (err, data) => { if (err) { console.error('读取文件失败:', err); } else { console.log('文件内容:', data); } }); ``` **同步读取文件** ```javascript const fs = require('fs'); try { // 同步读取文件 const data = fs.readFileSync('existing-file.txt', 'utf8'); console.log('文件内容:', data); } catch (err) { console.error('读取文件失败:', err); } ``` #### **删除文件** 使用 `fs.unlink`(异步)或 `fs.unlinkSync`(同步)方法删除文件。 **异步删除文件** ```javascript const fs = require('fs'); // 异步删除文件 fs.unlink('file-to-delete.txt', (err) => { if (err) { console.error('删除文件失败:', err); } else { console.log('文件删除成功!'); } }); ``` **同步删除文件** ```javascript const fs = require('fs'); try { // 同步删除文件 fs.unlinkSync('file-to-delete.txt'); console.log('文件删除成功!'); } catch (err) { console.error('删除文件失败:', err); } ``` --- ### **总结** Node.js 的 `fs` 模块提供了丰富的文件系统操作功能,包括创建、读取、写入和删除文件/目录等操作。根据实际需求,可以选择异步或同步方法进行文件系统操作。在实际开发中,为避免阻塞主线程,通常建议使用异步方法。
wwbang
2025年2月26日 17:43
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码