node.js 文件操作

devtools/2025/1/22 21:46:22/

在 Node.js 中,文件操作主要通过内置的 `fs`(File System)模块来实现。

1. 读取文件

const fs = require("fs");// 异步读取文件fs.readFile("example.txt", "utf8", (err, data) => {if (err) {console.error("读取文件时出错:", err);return;}console.log("文件内容:", data);});// 同步读取文件try {const data = fs.readFileSync("example.txt", "utf8");console.log("同步读取文件内容:", data);} catch (err) {console.error("同步读取文件时出错:", err);}

2. 写入文件

const fs = require("fs");// 异步写入文件fs.writeFile("output.txt", "Hello, Node.js!", "utf8", (err) => {if (err) {console.error("写入文件时出错:", err);return;}console.log("文件写入成功");});// 同步写入文件try {fs.writeFileSync("output.txt", "Hello, Node.js!", "utf8");console.log("同步文件写入成功");} catch (err) {console.error("同步写入文件时出错:", err);}

3. 追加文件内容

const fs = require("fs");// 异步追加内容fs.appendFile("output.txt", "\nThis is additional content.", "utf8", (err) => {if (err) {console.error("追加文件时出错:", err);return;}console.log("文件追加成功");});// 同步追加内容try {fs.appendFileSync("output.txt", "\nThis is additional content.", "utf8");console.log("同步文件追加成功");} catch (err) {console.error("同步追加文件时出错:", err);}

4. 重命名文件

const fs = require("fs");// 异步重命名文件fs.rename("output.txt", "newOutput.txt", (err) => {if (err) {console.error("重命名文件时出错:", err);return;}console.log("文件重命名成功");});// 同步重命名文件try {fs.renameSync("output.txt", "newOutput.txt");console.log("同步文件重命名成功");} catch (err) {console.error("同步重命名文件时出错:", err);}

5. 删除文件

const fs = require("fs");// 异步删除文件fs.unlink("newOutput.txt", (err) => {if (err) {console.error("删除文件时出错:", err);return;}console.log("文件删除成功");});// 同步删除文件try {fs.unlinkSync("newOutput.txt");console.log("同步文件删除成功");} catch (err) {console.error("同步删除文件时出错:", err);}

6. 检查文件是否存在

const fs = require("fs");fs.exists("example.txt", (exists) => {console.log("文件是否存在:", exists);});const existsSync = fs.existsSync("example.txt");console.log("同步检查文件是否存在:", existsSync);

7. 读取目录

const fs = require("fs");// 异步读取目录fs.readdir(".", (err, files) => {if (err) {console.error("读取目录时出错:", err);return;}console.log("目录中的文件和目录:", files);});// 同步读取目录try {const files = fs.readdirSync(".");console.log("同步读取目录中的文件和目录:", files);} catch (err) {console.error("同步读取目录时出错:", err);}

8. 创建目录

const fs = require("fs");// 异步创建目录fs.mkdir("newDirectory", (err) => {if (err) {console.error("创建目录时出错:", err);return;}console.log("目录创建成功");});// 同步创建目录try {fs.mkdirSync("newDirectory");console.log("同步目录创建成功");} catch (err) {console.error("同步创建目录时出错:", err);}

9. 删除目录

const fs = require("fs");// 异步删除目录fs.rmdir("newDirectory", (err) => {if (err) {console.error("删除目录时出错:", err);return;}console.log("目录删除成功");});// 同步删除目录try {fs.rmdirSync("newDirectory");console.log("同步目录删除成功");} catch (err) {console.error("同步删除目录时出错:", err);}

10. 复制文件

const fs = require("fs");const { promisify } = require("util");// 异步复制文件const copyFile = promisify(fs.copyFile);copyFile("source.txt", "destination.txt").then(() => {console.log("文件复制成功");}).catch((err) => {console.error("复制文件时出错:", err);});// 同步复制文件try {fs.copyFileSync("source.txt", "destination.txt");console.log("同步文件复制成功");} catch (err) {console.error("同步复制文件时出错:", err);}


http://www.ppmy.cn/devtools/152697.html

相关文章

JavaScript中的数据类型以及存储上的差别

JavaScript是一种动态类型语言,其变量可以在不同类型之间转换。理解JavaScript中的数据类型以及它们在存储上的差别对于编写高效、健壮的代码至关重要。本文将详细介绍JavaScript的基本数据类型、复杂数据类型以及它们的存储特性。 一、JavaScript中的数据类型 1.…

C语言程序设计十大排序—插入排序

文章目录 1.概念✅2.插入排序🎈3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅5.十大排序 1.概念✅ 排序是数据处理的基本操作之一,每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法,排序后的数据更易于处理和查找。在…

CentOS 安装Redis

1. 安装 Redis 安装 EPEL 仓库(对于 CentOS/RHEL 系统): 首先安装 EPEL 仓库,因为 Redis 存在于 EPEL 仓库中: yum install epel-release安装 Redis 数据库: yum install redis2. 修改 Redis 配置文件 …

【网络协议】【http】【https】RSA+AES-TLS1.2

【网络协议】【http】【https】RSAAES-TLS1.2 https并不是一个协议 而是在传输层之间添加了SSL/TLS协议 TLS 协议用于应用层协议(如 HTTP)和传输层(如 TCP)之间,增加了一层安全性来解决 HTTP 存在的问题,H…

如何使用Python爬虫获取微店商品详情:代码示例与实践指南

在电商领域,获取商品详情数据对于商家和开发者来说至关重要。微店作为国内知名的电商平台,提供了丰富的商品数据接口,方便开发者通过API调用获取商品详情。本文将详细介绍如何使用Python爬虫获取微店商品详情,并提供具体的代码示例…

MATLAB语言的文件操作

MATLAB语言的文件操作 1. 引言 MATLAB是一种高性能的语言,广泛应用于数学计算、数据分析和可视化等领域。在实际的应用中,经常需要对文件进行操作,包括读取文件、写入文件以及对文件进行修改等。本文将详细探讨MATLAB的文件操作&#xff0c…

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件,最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型,具备高吞吐、低延迟、高可用和强一致性的特点,适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …

Linux测试处理fps为30、1920*1080、一分钟的视频性能

前置条件 模拟fps为30、1920*1080、一分钟的视频 项目CMakeLists.txt cmake_minimum_required(VERSION 3.30) project(testOpenGl)set(CMAKE_CXX_STANDARD 11)add_executable(testOpenGl main.cpptestOpenCl.cpptestOpenCl.hTestCpp.cppTestCpp.hTestCppThread.cppTestCppTh…