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技术可行性:…

Docker数据目录迁移解决方案

前置工作 使用以下命令查询当前docker数据目录安装路径: docker info | grep "Docker Root Dir"下文以 /home/rain/docker 这个路径作为要迁移的新 Docker 安装(存储)目录 迁移方案 方法一:软链接 停掉Docker服务: systemctl…

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

一、公共字段填充 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…

node 第十四天 基于express的第三方中间件multer node后端处理用户上传文件

Multer 是一个 node.js 中间件,用于处理multipart/form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上的所以非常高效。前面我们已经知道了怎样利用express提供的静态资源处理中间件express.static()处理用户请求静态资源文件(图片, js…

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

至少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 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的…

leetcode_2003 每棵子树内缺失的最小基因值

1. 题意 给定一颗树,求所有子树的最小基因值。 最小基因值定义为,该树的所有节点组成的集合中未出现的最小正整数。 每颗子树内缺失的最小基因值 2. 题解 2.1 启发式合并 直接递归求出左右子树的所有可能值,与根节点进行合并&#xff0c…

深入理解udp

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

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

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

Java--枚举类型

Java中枚举类型可以取代一般的常量定义方式,可以将常量封装在类或接口中;枚举类型本质上还是以类的形式存在的,枚举类型继承于java.lang.Enum类,定义一个枚举类型时,每一个枚举类型成员都可以看做是枚举类型的一个实例…

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

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

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

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

uniapp跨页面传递数据的几种方式

跨页面传递数据是在移动应用开发中非常常见和重要的功能。UniApp作为一个跨平台框架,提供了多种方式来实现数据的传递。下面将介绍几种常见的跨页面传递数据的方式,并给出相应的示例代码。 URL参数传递: 在源页面(例如pages/ind…

ffi-napi安装使用 问题记录

第一步先安装 npm install -g node-gyp 这个软件是node下,用来编译node插件软件,也就是我们要安装的ffi-napi的,因为ffi-napi是调用c,所以这个软件,在不同平台,linux,windows,肯定要不同的代码才…

微服务-统一网关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…