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

文章目录

  • 前言
  • 一、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.mzph.cn/news/126011.shtml

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

相关文章

图书馆书目推荐数据分析与可视化

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

公共字段自动填充、菜品管理

一、公共字段填充 1.1、问题分析 1.2、实现思路 1.3、代码开发 1.3.1、自定义注解 import com.sky.enumeration.OperationType;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import jav…

【红蓝攻防鸿篇巨著】ATTCK视角下的红蓝对抗实战指南

【文末送书】今天推荐一本网安领域优质书籍《ATT&CK视角下的红蓝对抗实战指南》,本文将从其亮点与内容出发,详细阐发其对于网安从业人员的重要性与益处。 文章目录 背景简介内容文末送书 背景 根据中国互联网络信息中心(CNNIC&#xff0…

正则表达式包含数字和字符匹配

至少6位。 pattern : (?.[0-9])(?.[A-Za-z])[0-9A-Za-z]{6,} 正则表达式中的“?”是一个正向预查字符,它的意思是匹配前一个字符出现的最少一次。具体来说,当一个匹配出现时,它会检查前一个字符是否符合要求,如果符合&#xf…

Yuhan Blu-ray DVD Creator for Mac: 打造专属的高清视听盛宴

在如今的高清时代,谁能拒绝一款能够轻松将高清影片刻录成蓝光DVD的刻录机呢?而Yuhan Blu-ray DVD Creator for Mac正是这样一款令人惊艳的软件。 作为一款专为Mac用户打造的蓝光DVD刻录机,Yuhan Blu-ray DVD Creator for Mac支持将各种高清视…

媒体宣传如何助力品牌发展

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传可以在多方面助力品牌发展,下面是一些关键的方式: 1. 提高品牌知名度:媒体宣传可以将品牌曝光给更广泛的受众,使更多人了解您的品…

【Nginx37】Nginx学习:SSL模块(一)简单配置与指令介绍

Nginx学习:SSL模块(一)简单配置与指令介绍 又是一个重点模块,SSL 模块,其实就是我们常见的 HTTPS 所需要的配置模块。HTTPS 的重要性不用多说了吧,现在所有的 App、小程序 都强制要求是 HTTPS 的&#xff0…

代码随想录打卡第五十六天|1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和

1143.最长公共子序列 题目: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的…

深入理解udp

1.再谈端口号 1.1复习 我们上一篇谈了很久的应用层的http,并在此前我们使用socket编程写了一个能相互通信的客户端与服务端,但是我们也只是粗略的理解了一下tcp和udp在编程过程中所形成的差异性,并没有实质去了解一下其详细内容,…

家政服务系统小程序app开发功能架构;

家政服务小程序系统,轻松搭建上门服务小程序。支持H5与小程序双端,还能DIY页面。根据您的需求,我们可定制开发家政服务小程序系统。想添加多种服务类目、优惠专区以及IM即时沟通功能?没问题,我们支持!想要快…

【计算机网络笔记】传输层——可靠数据传输原理之Rdt协议

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

局域网内两台电脑共享文件夹(通过网线直连共享数据)

文章目录 2.设置共享文件夹3.访问共享文件夹 1.将两台电脑置于同一局域网下 用网线将两台电脑连接关闭两台电脑防火墙将两台电脑IP地址设置在同一局域网下 测试是否在同一局域网下,使用ping命令 ping 192.168.0.122.设置共享文件夹 选择想要共享的文件夹&#xff…

微服务-统一网关Gateway

网关的作用 对用户请求做身份认证、权限校验将用户请求路由到微服务,并实现负载均衡对用户请求做限流 搭建网关服务 创建新module,命名为Gateway,引入依赖(1.SpringCloudGateway依赖;2.Eureka客户端依赖或者nacos的服…

git命令清单

一、设置和配置 1.初始化一个新的仓库&#xff1a; git init2.克隆&#xff08;Clone&#xff09;一个远程仓库到本地&#xff1a; git clone <repository_url>3.配置用户信息&#xff1a; git config --global user.name "Your Name" git config --global…

CentOS 安装 Hadoop Local (Standalone) Mode 单机模式

CentOS 安装 Hadoop Local (Standalone) Mode 单机模式 Hadoop Local (Standalone) Mode 单机模式 1. 修改yum源 并升级内核和软件 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum clean allyum makecacheyum -y update2. 安…

【新品首发】DPEasy,让数据库安全风险无所遁形!

就在今天&#xff0c;DPEasy 正式出道啦&#xff01;&#xff01;&#xff01; DPEasy 是由杭州图尔兹信息技术有限公司自主研发的一款高效的数据库安全风险扫描工具&#xff0c;旨在帮助大家发现并分析出数据库可能面临的安全威胁。同时&#xff0c;在不影响应用运行的情况下…

【Java 进阶篇】深入理解 Java Response:从基础到高级

HTTP响应&#xff08;Response&#xff09;是Web开发中的一个关键概念&#xff0c;它是服务器向客户端&#xff08;通常是浏览器&#xff09;返回数据的方式。理解如何在Java中处理和构建HTTP响应是开发Web应用程序的重要一部分。本文将从基础知识到高级技巧&#xff0c;详细介…

Qt QWidget、QDialog、QMainWindow的区别

QWidget QWidget是Qt框架中最基础的窗口类&#xff0c;可以理解为用户界面的最基本单元。QWidget类提供了一个空白窗口&#xff0c;可以通过继承该类来创建自定义的窗口类。QWidget类提供了基本的窗口属性和方法&#xff0c;如大小、位置、标题、图标等。 QDialog QDialog是…

【设计模式】第18节:行为型模式之“迭代器模式”

一、简介 迭代器模式&#xff08;Iterator Design Pattern&#xff09;&#xff0c;也叫作游标模式&#xff08;Cursor Design Pattern&#xff09;。 在通过迭代器来遍历集合元素的同时&#xff0c;增加或者删除集合中的元素&#xff0c;有可能会导致某个元素被重复遍历或遍…

Flask Shell 操作 SQLite

一、前言 这段时间在玩Flask Web&#xff0c;发现用Flask Shell去操作SQLite还是比较方便的。今天简单地介绍一下。 二、SQLite SQLite是一种嵌入式数据库&#xff0c;它的数据库就是一个文件&#xff0c;处理速度快&#xff0c;经常被集成在各种应用程序中&#xff0c;在IO…