Nodejs基础3之fs模块的文件重命名和移动、文件的删除、文件夹操作、查看资源状态、fs路径

Nodejs基础二

  • fs模块
    • 文件重命名和移动
      • 文件的重命名
      • 文件的移动
      • 同步重命名和移动
    • 文件的删除
      • 使用unlink进行删除
        • unlink异步删除
        • unlinkSync同步删除
      • 使用rm进行删除
        • rm异步删除
        • rmSync同步删除
    • 文件夹操作
      • 创建文件夹
        • 递归创建文件夹
      • 读取文件夹
      • 删除文件夹
        • rmdir删除文件夹
        • 删除递归文件夹
        • 使用rm删除文件夹(建议使用)
    • 查看资源状态
    • fs路径
      • 相对路径
      • 绝对路径
      • 相对路径的一个小bug
        • 解决

fs模块

文件重命名和移动

在 Node.js 中,我们可以使用 rename 或 renameSync 来移动或重命名 文件或文件夹
语法:

fs.rename(oldPath, newPath, callback)
fs.renameSync(oldPath, newPath)

参数说明:

  • oldPath 文件当前的路径
  • newPath 文件新的路径
  • callback 操作后的回调

文件的重命名

//1.导入fs模块
const fs=require('fs')//2.调用rename方法
fs.rename('./座右铭.txt','./论语.txt',err=>{if(err){console.log("重命名失败!")return;}console.log("重命名成功!")
})

代码执行前:
在这里插入图片描述
代码执行后:
在这里插入图片描述

文件的移动

//文件的移动
const fs=require('fs')fs.rename('./练习文档/清平调.txt','./资料/test/清平调.txt',err=>{if(err){console.log("移动错误")return;}console.log("移动成功")
})

移动前:
在这里插入图片描述

移动后:
在这里插入图片描述
在这里插入图片描述

同步重命名和移动

const fs=require('fs')
//同步重命名
fs.renameSync('./练习文档/数据.txt','./练习文档/data.txt')//同步移动
fs.renameSync('./练习文档/数据.txt','./资料/test/数据.txt')

重命名前:
在这里插入图片描述
重命名后:
在这里插入图片描述
移动前:
在这里插入图片描述
移动后:
在这里插入图片描述

文件的删除

使用unlink进行删除

unlink异步删除
//1、引入fs模块
const fs=require('fs')//2、使用unlink进行删除
fs.unlink('./hello.txt',err=>{if(err){console.log("删除失败")return}console.log("删除成功")
})

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述

在这里插入图片描述

unlinkSync同步删除
//1、引入fs模块
const fs=require('fs')
//使用unlinkSync同步删除
fs.unlinkSync('./test文稿.txt')

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述

使用rm进行删除

rm异步删除
//1、引入fs模块
const fs=require('fs')
//2、使用rm异步删除
fs.rm('./test文稿1.txt',err=>{if(err){console.log("删除失败")return}console.log("删除成功")
})

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述
在这里插入图片描述

rmSync同步删除
//1、引入fs模块
const fs=require('fs')
//2、使用rmSync同步删除
fs.rmSync('./test文稿2.txt')

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述

文件夹操作

创建文件夹

在 Node.js 中,我们可以使用 mkdirmkdirSync 来创建文件夹
语法:

fs.mkdir(path[, options], callback)
fs.mkdirSync(path[, options])

参数说明:

  • path 文件夹路径
  • options 选项配置( 可选
  • callback 操作后的回调
//1、引入fs模块
const fs=require('fs')
//2、使用mkdir创建文件夹 mk == make 制作 dir == directory
fs.mkdir('./html',err=>{if(err){console.log("创建失败")return}console.log("创建成功")
})

创建前:
在这里插入图片描述
创建后:

在这里插入图片描述

递归创建文件夹
//1、引入fs模块
const fs=require('fs')//2、递归创建
fs.mkdir('./a/b/c',{recursive:true},err=>{if(err){console.log("创建失败!")return}console.log("创建成功!")
})

创建后:
在这里插入图片描述

读取文件夹

在 Node.js 中,我们可以使用 readdir 或 readdirSync 来读取文件夹
语法:

fs.readdir(path[, options], callback)
fs.readdirSync(path[, options])

参数说明:

  • path 文件夹路径
  • options 选项配置( 可选 )
  • callback 操作后的回调
//读取文件夹
//1、引入fs模块
const fs=require('fs')//2、读取文件夹
fs.readdir('./练习文档',(err,data)=>{if(err){console.log("读取失败")return}console.log("data",data)
})

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

删除文件夹

在 Node.js 中,我们可以使用 rmdir 或 rmdirSync 来删除文件夹
语法:

fs.rmdir(path[, options], callback)
fs.rmdirSync(path[, options])

参数说明:

  • path 文件夹路径
  • options 选项配置( 可选 )
  • callback 操作后的回调
rmdir删除文件夹
//删除文件夹
const fs=require('fs')fs.rmdir('./html',err=>{if(err){console.log("删除失败!")return}console.log("删除成功")
})

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述

删除递归文件夹
//删除递归
const fs=require('fs')fs.rmdir('./a',{recursive:true},err=>{if(err){console.log("删除失败")return}console.log("删除成功")
})

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述
在这里插入图片描述

使用rm删除文件夹(建议使用)
//使用rm删除文件夹
const fs=require('fs')
fs.rm('./a',{recursive:true},err=>{if(err){console.log("删除失败")return}console.log("删除成功")
})

删除前:
在这里插入图片描述
删除后:
在这里插入图片描述

在这里插入图片描述

查看资源状态

在 Node.js 中,我们可以使用 stat 或 statSync 来查看资源的详细信息
语法:

fs.stat(path[, options], callback)
fs.statSync(path[, options])

参数说明:

  • path 文件夹路径
  • options 选项配置( 可选 )
  • callback 操作后的回调

结果值对象结构:

  • size 文件体积
  • birthtime 创建时间
  • mtime 最后修改时间
  • isFile 检测是否为文件
  • isDirectory 检测是否为文件夹
//1、导入fs模块
const fs=require('fs')fs.stat('./资料/测试.mp4',(err,data)=>{if(err){console.log("操作失败")return}console.log(data)//判断是否是文件console.log(data.isFile())//判断是否是文件夹console.log(data.isDirectory())
})

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

fs路径

fs 模块对资源进行操作时,路径的写法有两种:

  • 相对路径
    • ./座右铭.txt 当前目录下的座右铭.txt
    • 座右铭.txt 等效于上面的写法
    • …/座右铭.txt 当前目录的上一级目录中的座右铭.txt
  • 绝对路径
    • D:/Program Files windows 系统下的绝对路径
    • /usr/bin Linux 系统下的绝对路径

相对路径

const fs=require('fs')//相对路径
fs.writeFileSync('./练习文档/index.html','love')   //在当前目录下的练习文档中创建
fs.writeFileSync('index.html','love')   //在当前目录下创建
fs.writeFileSync('../index.html','love')  //在当前目录的上一级目录下创建

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

绝对路径

const fs=require('fs')//绝对路径
fs.rmSync('F:/nodejs-learning/index.html')
fs.rmSync('F:/nodejs-learning/练习文档/index.html')

在这里插入图片描述

相对路径的一个小bug

const fs=require('fs')//相对路径的参照物:命令行的工作目录
fs.writeFileSync('./index.html','love')

代码执行方式:
在这里插入图片描述
在这里插入图片描述

解决
const fs=require('fs')//绝对路径'全局变量'保存的是:所在文件的所在目录的绝对路径
console.log("__dirname",__dirname)
fs.writeFileSync(__dirname+'/index.html','love')

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

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

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

相关文章

电脑怎么把照片的kb缩小?三种方法帮你解决

电脑怎么把照片的kb缩小?我们在进行上传图片的时候,经常遇到图片太大,请压缩后再上传的情况,这就是我们开头所需要了解的压缩图片大小的方法,图片缩小kb可以通过三种处理方式来达到效果,我们可以直接图片压…

在线协作白板WBO本地部署启动并结合内网穿透实现远程协同办公

文章目录 推荐前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

【LeetCode: 208. 实现 Trie (前缀树)】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

一分钟带你了解--电商控价

电商行业发展至今带来了许多机遇,但同时也伴随着一些挑战。品牌电商在运营过程中,面临着诸如乱价、低价、窜货和假货等问题,这些问题不仅损害了品牌的形象和价值,也破坏了市场秩序,侵害了消费者的权益。 电商控价是解…

深度探讨 Golang 中并发发送 HTTP 请求的最佳技术

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在 Golang 领域,并发发送 HTTP 请求…

java常用API(2)

1:String 1.1 String(构造方法) 首先,我们先来学习String类,它涉及到两个案例:用户登录和聊天室。 先来看用户登录案例:需要输入用户名和密码,和已知的用户名和密码进行比较,涉及到比较的方法…

抖音小店如何选品?新手怎么选有潜力的产品?常用选品玩法分享

大家好,我是电商花花。 选品是我们店铺出单的关键,也是我们做电商行业的小伙伴非常关心的一个点。 我们想要选好商品,我们就要先搞清楚,什么样的产品才算是有潜力的产品,什么样的产品才能出单,什么样的产…

【HTML5】 canvas 绘制图形

文章目录 一、基本用法二、用法详见2.0、方法属性2.1、绘制线条2.2、绘制矩形2.3、绘制圆形2.4、绘制文本2.5、填充图像 一、基本用法 canvas 标签:可用于在网页上绘制图形(使用 JavaScript 在网页上绘制图像)画布是一个矩形区域&#xff0c…

MATLAB R2023b for Mac 中文

MATLAB R2023b 是 MathWorks 发布的最新版本的 MATLAB,适用于进行算法开发、数据可视化、数据分析以及数值计算等任务的工程师和科学家。它包含了一系列新增功能和改进,如改进了数据导入工具,增加了对数据帧和表格对象的支持,增强…

手机上最危险的3个操作,千万小心!

普通人千万不要在手机上做这3个操作,否则你的手机早晚会被黑客入侵了。 第一种,苹果越狱 越狱虽然可以绕过限制给你的苹果安装上一些特殊软件,但只要是越狱之后的苹果手机,都将留下漏洞,黑客最喜欢寻找做过越狱的手机…

nginx离线安装

安装包准备: 上传安装包到linux系统 一、进入gcc目录,执行以下命令 rpm -Uvh *.rpm --nodeps --force gcc -v查看版本 二、 进入gcc-c目录,执行命令 rpm -Uvh *.rpm --nodeps --force g -v查看版本 三、安装PCRE 解压: t…

众和策略:券商又念“紧箍咒” 绕标套现的头疼了

又有券商对两融事务念“紧箍咒”。 近来,记者从广发证券获悉,该公司已发布《关于调整融资融券负债归还规矩的告诉》,自2024年1月15日起,决议禁止融资买入证券用于归还融券负债。 相关业内人士以为,自上一年10月融资融…

华为交换机配置NQA DNS检测IP网络DNS解析速度

华为HCIA视频教程:超级实用,华为VRP系统文件详解 华为HCIA视频教程:不会传输层协议,HCIA都考不过 华为HCIA视频教程:网络工程师的基本功:网络地址转换NAT 华为HCIP视频教程:DHCP协议原理与配…

安防视频云平台/可视化监控云平台ARM版EasyCVR无法下载录像文件,如何解决?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。GB28181视频监控/AI智能大数据视频分析EasyCVR平台已经广泛应用在工地…

如何使用Docker本地搭建Traefik服务并实现公网访问管理界面

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (D…

感知器学习算法和Adaline规则

一.感知器的发展过程 感知器的发展可以追溯到20世纪50年代。它是一种简单的人工神经网络模型,最早由美国心理学家和计算机科学家弗兰克罗森布拉特(Frank Rosenblatt)于1957年提出。感知器的设计灵感来源于生物神经元的工作原理,旨…

7.3 数据库的基本查询

数据库的基本查询 1. 提要2. 简单查询3. 高级查询3.1 数据分页_limit3.2 排序_order by3.3 查询去重_distinct 4. 条件查询 1. 提要 2. 简单查询 3. 高级查询 3.1 数据分页_limit 3.2 排序_order by 3.3 查询去重_distinct 4. 条件查询

街机模拟游戏逆向工程(HACKROM)教程:[3]街机的ROM与RAM

简介 在街机模拟器中运行一个街机游戏,我们除了需要一个模拟器工具 ,也需要有一个街机的ROM文件。街机的ROM文件,称之为Read-Only Memory,可以理解为只读存储器。在 ROM文件中,包括了游戏运行所需要的指令代码&#x…

Fiddler工具 — 15.Filters(过滤器)界面

1、Filters介绍 Filters:过滤器,帮助我们过滤请求。 如果需要过滤掉与测试项目无关的抓包请求,更加精准的展现抓到的请求,而不是杂乱的一堆,那功能强大的 Filters 过滤器能帮到你。 总结:Filters过滤器的…

gitlab 命令执行漏洞(CVE-2022-2992)

1.漏洞影响版本 GitLab CE/EE 中的一个漏洞影响从 11.10 开始到 15.1.6 之前的所有版本、从 15.2 开始到 15.2.4 之前的所有版本、从 15.3 开始到 15.3.2 之前的所有版本。允许经过身份验证的用户通过从 GitHub API 端点导入实现远程代码执行。 查看 gitlab 版本。(登录后才能…