node使用fs模块(三)—— fs模块的其他使用(复制文件、文件的重命名和移动、删除)

news2024/11/18 5:46:52

文章目录

  • 前言
  • 一、fs的复制
    • 1.方式一(先读取后写入)
    • 2.方式二(流式读取写入)
    • 3.两种方式的区别
  • 二、文件的重命名和移动(fs.rename)
    • 1. 参数
    • 2. 基本使用(文件的重命名)
    • 3. 基本使用(文件的移动)
    • 4.文件移动和重命名的同步
    • 5.文件移动和重命名的区别
  • 三、文件的删除(fs.unlink)
    • 1. 参数
    • 2.基本使用
    • 3.文件删除的同步


前言


一、fs的复制

提示: 本身没有复制的方法,本质是是读取和写入做到的效果

1.方式一(先读取后写入)

const fs = require('fs')

// 方式一(先读取后写入)
// 1.1读取
const data = fs.readFileSync('./text.txt')
// 1.2写入
fs.writeFileSync('./text1.txt', data);

在这里插入图片描述
在这里插入图片描述

2.方式二(流式读取写入)

const rs = fs.createReadStream('./text.txt') // 读取
const ws = fs.createWriteStream('./text2.txt') // 写入

// 如果文件较大的话,读取的熟读远远大于写入的速度,所以需要
rs.on('data', chunk => {
    ws.write(chunk)
})

在这里插入图片描述

3.两种方式的区别

方式一:将所有内容读取完成后,进行写入。逻辑简单
方法二:读取一部分,写入一部分。内存占用更小(由于流式读取的远远大于流式写入速度,实际占用空间会更小)

二、文件的重命名和移动(fs.rename)

1. 参数

参数1:oldPath 旧文件路径名
参数2:newPath 新文件路径名
参数3:回调函数
在这里插入图片描述

2. 基本使用(文件的重命名)

const fs = require('fs')

// 文件的重命名
fs.rename('./text.txt', './update.txt', err => {
    if (err) {
        console.log('操作失败');
    } else {
        console.log('操作成功');
    }
})

在这里插入图片描述

3. 基本使用(文件的移动)

fs.rename('./update.txt', './update/update.txt', err => {
    if (err) {
        console.log('操作失败');
    } else {
        console.log('操作成功');
    }
})

在这里插入图片描述

4.文件移动和重命名的同步

和前面的一样,没有回调函数,不过多解释了。

fs.renameSync('要移动/重命名的文件路径', '修改后的文件路径')

5.文件移动和重命名的区别

就是第二个参数(修改后的文件路径)改了而已。引用官网的一句话:如果 newPath 已经存在,则它将被覆盖。 如果 newPath 是目录,则会引发错误。 除了可能的异常之外,没有为完成回调提供任何参数。

三、文件的删除(fs.unlink)

1. 参数

参数1: 删除的文件路径
参数2:回调函数
在这里插入图片描述

2.基本使用

// 文件的删除
fs.unlink('./text1.txt', err => {
    if (err) {
        console.log('删除失败');
    } else {
        console.log('删除成功');
    }
})

在这里插入图片描述

3.文件删除的同步

还是和之前的一样,没有回调函数,不过多解释了

fs.unlinkSync('删除的文件路径');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1155686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

13.7性能测试工具(LoadRunner)(简单扫盲)

下载LoadRunner和360极速浏览器 一.为什么选择LoadRunner而不是Jmeter 1.Jmeter没有录制功能. 2.LoadRunner可以设计非常丰富的测试场景. 3.LoadRunner能够产出非常丰富的测试报告. 二.LoadRunner三大组件 1.VUG: 功能: 录制脚本(编写脚本). 2.Controller: 功能: 设计场…

RocketMQ生产者消息发送出去了,消费者一直接收不到怎么办?(Rocket MQ订阅关系一致性)

问题: 使用RocketMQ消息队列,生产者将数据发送出去了,但是生产者一致没接收到(或者是间隔好几分钟,突然接收到一条数据)怎么办?并且通过rocket web控制台查看消息的状态为NOT_ONELINE或者NOT_CONSUME&#…

把Qt6.2.4内置的标签打印了一遍

2023年10月31日&#xff0c;周二晚上 #include <QGridLayout> #include <QPushButton> #include <QLabel> #include <QApplication> #include <QStyle>int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget widget;widget.set…

SpringBoot -- 请求数据多态映射(jackson)

有些情况下&#xff0c;服务端提供了一个抽象类及其多个实现类&#xff0c;当前端传递 json 数据到后端时&#xff0c;我们希望映射得到的对象数据是根据某个特征区分开的具体的实现类对象。 文章目录 实现方式示例抽象类对象若干实现类测试接口及前端传递请求体接参结果 JsonT…

JavaScript的高级概述

还记得我们刚刚开始的时候给JavaScript的定义吗&#xff1f; JavaScript是一种高级的&#xff0c;面向对象的&#xff0c;多范式变成语言&#xff01; 这种定义JavaScript只是冰山一角&#xff01; JavaScript的高级定义 JavaScript是一种高级的、基于原型的、面向对象、多范…

node使用fs模块(二)—— 读取文件的基本使用(普通读取、同步读取等、流式读取)

文章目录 一、读取文件1. 参数说明2. 基本使用3.读取文件的同步和异步 二、流式文件写入&#xff08;fs.appendFile&#xff09;1. 参数说明2.基本使用 一、读取文件 1. 参数说明 参数1&#xff1a; path——读取的文件路径&#xff08;必填&#xff09; 参数2&#xff1a; op…

怎么在电脑桌面上添加待办事项?

在电脑桌面上选择一款待办事项工具&#xff0c;可以高效率地督促各项任务的按时完成&#xff0c;大大地提高工作的效率&#xff0c;支持在电脑上安装待办事项的工具类型是比较多的&#xff0c;为更好的辅助日常办公&#xff0c;建议大家可以选择高效率辅助办公的电脑便签工具&a…

leetcode:374. 猜数字大小(二分查找)

一、题目 函数原型&#xff1a;int guessNumber(int n) 二、思路 本题其实就是从 1 - n 中找出所要的答案。利用guess函数来判断数字是否符合答案。 答案小于当前数字&#xff0c;guess函数返回-1 答案等于当前数字&#xff0c;guess函数返回0 答案大于当前数字&#xff0c;gue…

会自动写代码的AI大模型来了!阿里云推出智能编码助手通义灵码

用大模型写代码是什么样的体验&#xff1f;10月31日&#xff0c;杭州云栖大会上&#xff0c;阿里云对外展示了一款可自动编写代码的 AI 助手&#xff0c;在编码软件的对话窗口输入“帮我用 python 写一个飞机游戏”&#xff0c;短短几秒&#xff0c;这款名为“通义灵码”的 AI …

10月31日星期二今日早报简报微语报早读

10月31日星期二&#xff0c;农历九月十七&#xff0c;早报微语早读分享。 1、广西官宣&#xff1a;做试管婴儿费用可报销&#xff1b; 2、港媒&#xff1a;4名港大学生承认“煽惑他人蓄意伤人罪”&#xff0c;被判监禁2年&#xff1b; 3、331名中国维和官兵全部获联合国勋章…

广告电商——边看广告边赚钱,实现三方共赢的局面

购物能赚钱&#xff1f;你相信嘛&#xff1f;广告电商模式边购物边赚钱&#xff0c;每天看看广告就能赚钱&#xff0c;白嫖 零撸 我之前有个客户就用了这种模式&#xff0c;购物的积分&#xff0c;然后用户看广告释放积分来赚钱&#xff0c;因为广告都是我们对接好了的一些头部…

【SOC基础】单片机学习案例汇总 Part2:蜂鸣器、数码管显示

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

FreeRTOS深入教程(队列内部机制和源码分析)

文章目录 前言一、队列结构体分析二、创建队列三、读写队列源码分析1.读队列源码分析2.写队列源码分析 总结 前言 本篇文章主要来为大家分析队列的内部机制和源码实现。 一、队列结构体分析 在FreeRTOS中队列会使用一个结构体来表示&#xff1a; 1.int8_t * pcHead 和 int…

MySQL数据库的存储引擎,底层存储结构,事物隔离级别,索引,日志等

存储引擎 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表而不是基于库的&#xff0c;所以存储引擎也可以被称为表引擎。 默认存储引擎是InnoDB。 InnoDB 在 MySQL 5.5 之后&#xff0c;InnoDB 是默认的 MySQL 引擎。 1.支持事务 2.行级锁…

YOLOv5/YOLOv7改进: AIFI (尺度内特征交互)助力YOLO | YOLO终结者?RT-DETR一探究竟

💡💡💡本文全网首发独家改进: AIFI (尺度内特征交互)助力YOLO ,提升尺度内和尺度间特征交互能力,同时降低多个尺度的特征之间进行注意力运算,计算消耗较大等问题 推荐指数:五星 AIFI | 亲测在多个数据集能够实现涨点 💡💡💡Yolov5/Yolov7魔术师,独家首…

Windows11无法打开Photoshop CC 2017问题解决

情况描述&#xff1a; Windows11上&#xff0c;双击Photoshop CC 2017没反应 解决办法&#xff1a; 此时需要启动Windows的“事件查看器”来确认问题出在哪里。可以直接通过开始菜单搜索启动&#xff0c;也可以通过右键点击“此电脑”->“管理”&#xff0c;然后找到事件查…

解密杭州亚运背后科技:核心系统100%上云,20多项全球首创智能应用

10月31日&#xff0c;2023杭州云栖大会&#xff0c;杭州亚运会信息技术中心执行指挥长、杭州亚组委广播电视和信息技术部副部长张鸽以《科技创新在亚运舞台精彩绽放》为主题&#xff0c;分享了杭州亚运会的智能亚运实践。 杭州亚运会打造了史上首个全覆盖的数字化服务体系&…

港府Web3宣言周年思考:合规困境中的“隐患”

出品&#xff5c;欧科云链研究院 作者&#xff5c;毕良寰 距离《有关虚拟资产在港发展的政策宣言》已过去一年&#xff0c;我们欧科云链研究院在分析全球几个主要国家和地区对Web3的监管政策及态度后&#xff0c;对港府的雄心壮志充满期待。然而&#xff0c;由于近期一些庞氏骗…

学习redis之前的泛泛而谈(特性介绍,应用场景,Ubuntu安装与通用命令介绍)

文章目录 前言关于分布式系统Redis特性Redis应用场景Redis5安装redis命令最核心的两个命令&#xff1a;get和setkeysexitsdelexpirettlredis中key的过期策略type redis数据类型的内部实现方式redis的单线程 前言 redis最重要的概念&#xff1a;在内存中存储数据 为什么要设计一…

MySQL(4):运算符

算术运算符 算术运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xff08;/&#xff09;和取模&#xff08;%&#…