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')

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8s-Pod资源(二)node调度策略、node亲和性、污点与容忍度

目录 node调度策略nodeName和nodeSelector 指定nodeName 指定nodeSelector node亲和性 node节点亲和性 硬亲和性 软亲和性 污点与容忍度 本文主要介绍了在pod中,与node相关的调度策略,亲和性,污点与容忍度等的内容 node调度策略node…

一文速学-selenium高阶性能优化技巧

一文速学-selenium高阶性能优化技巧 前言 最近写的挺多自动化办公的selenium程序没有做优化,执行效率不高,启动浏览器又慢但是又可能出现其他不可控的因素,总结来说虽然放心运行但是又没那么好用,项目是写完了最后还是需要优化结…

内部软件产品数据治理平台(流程设计里,选择触发事件报错)

内部软件产品数据治理平台(流程设计里,选择触发事件报错) 页面报错如下 通过查看dp后台日志发现缺少表字段,表名称(TL_EVENT_SHADOW),需要新增字段即可 PROJECT_ID varchar(200) DEFAULT NULL COMMENT ‘对象所属项目ID’, SPACE_ID varchar(20) DEFAULT ‘0’ C…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(5)登录认证

指路(1)(2)(3)(4)👇 黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(1)准备工作、部门管理_tlias智能学习辅助系统的需求分析-CS…

外汇天眼:模拟大赛报名人数突破一万大关

🔥🔥🔥 第二届模拟交易世界杯模拟交易赛区:截止到2024年1月15日上午9:58:06 报名人数已突破10000大关,累计模拟交易人数突破6800,日均模拟交易人数达1100,累计模拟交易金额超650亿,…

YOLOV7剪枝流程

YOLOV7剪枝流程 1、训练 1)划分数据集进行训练前的准备,按正常的划分流程即可 2)修改train.py文件 第一次处在参数列表里添加剪枝的参数,正常训练时设置为False,剪枝后微调时设置为True parser.add_argument(--pr…

HCIP的静态路由复习

VRP设置用户名密码登录 [R1]aaa [R1-aaa]local-user TMG password cipher huawei #创建一个名TMG的用户,密码huawei Info: Add a new user.[R1-aaa]local-user TMG privilege level 15 #设置权限 [R1-aaa]local-user TMG service-type terminal …

CentOS离线安装MongoDB

目录 1、下载 2、上传并解压 3、创建目录 4、新建配置文件 5、启动 6、验证 7、停止服务 7.1 快速停止 7.2 标准的关闭方法 1、下载 下载MongoDB对应的压缩包,本次使用的是4.0.10版本,点击下载 2、上传并解压 把压缩包上传到服务器&#xff0c…

人大金仓参与起草《数据库运维管理能力成熟度模型》标准

近日,由中国信息通信研究院、中国移动通信集团有限公司、人大金仓等单位参与起草的《数据库运维管理能力成熟度模型》标准正式发布。本标准适用于金融、电信、互联网、能源等重点行业对内部数据库运维管理能力进行全面综合的评价。 数据库作为基础软件的核心组成部分…

2024年初会报名照片要求(必须白底哦)

24初级会计报名照片要求 近期彩色标准1寸、(白色背景), jpg格式,大于10KB ,像素>295*413. 初级会计考试报名照片要求为本人近期正面、免冠、清晰完整的证件电子照。 初级会计报名照片应显示报考人员双肩、双耳、双眉,不得佩戴首饰&#xf…

Android aar包集成与报错

Android Studio引用AAR的方式,分为gradle7.0之前与7.0之后 一、集成步骤 方法一: 1.将对应的xxx.aar包复制到项目的libs目录下(xxx代表需要引入的aar包名称) 2.然后在模块的build.gradle文件中配置implementation files(libs/lib…

geopandas 笔记:plot 的scheme

transbigdata 笔记:官方文档案例1(出租车GPS数据处理)-CSDN博客 3.3.1 节的内容的拓展,这里主要是比较各个scheme的效果 主代码为:修改的就是第二行scheme的内容 plt.figure(1,(16, 6), dpi300) schemebox_plot #图…

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

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

Overleaf IEEE白嫖即将失效!

之前白嫖Overleaf用IEEE的,最长只能到一月份了!(官方回复) 翻译一下: IEEE不支持这种Collaboratec白嫖了已经白嫖的,到2024年1月份过期没有白嫖的,已经无法获得了

大模型日报-20240115

即插即用,完美兼容:SD社区的图生视频插件I2V-Adapter来了 https://mp.weixin.qq.com/s/tlOWaMi0e6By__MUT414xA 图像到视频生成(I2V)任务旨在将静态图像转化为动态视频,这是计算机视觉领域的一大挑战。其难点在于从单…

opencv-py-基础操作

文章目录 阈值分割灰度图效果 二值化效果 二值化取反效果 截取效果 TOZERO效果 TOZERO取反效果 滤波均值滤波高斯滤波中值滤波 图像拼接简单的横向和纵向拼接效果(三幅图片分别是均值滤波,高斯滤波,中值滤波) 腐蚀与膨胀 阈值分割…

软件测试|使用holidays模块处理节假日

前言 在Python中,有一个名为 holidays 的模块,它可以帮助你轻松地处理节假日信息。该模块提供了一种方便的方式来确定特定日期是否是一个节假日,同时还支持不同国家和地区的节假日计算。本文将详细介绍如何使用 holidays 模块,包…

《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)

目录 开头语内存飙升问题分析与案例问题背景:我华为云的一个服务器运行我的一个项目“csdn-automatic-triplet-0.0.1-SNAPSHOT.jar”,由于只是用来测试的服务器,只有2G,所以分配给堆的内存1024M查询内存使用(top指令&a…

3月济南|2024生物发酵系列展,不容错过的行业盛宴

2024生物技术产业装备展暨生物发酵系列展,由中国生物发酵产业协会主办,上海信世展览服务有限公司承办,于2024年3月5-7日在山东国际会展中心隆重举行。作为生物发酵产业具有专业性和权威性的行业盛会,期待携手继续共同前行&#xf…

德思特干货|德思特ADC/DAC静态参数测试系列(一)——什么是ADC转换点

在现代电子系统设计与高速通信、信号处理、雷达探测、医疗成像以及各种工业自动化应用中,模数转换器(ADC)和数模转换器(DAC)扮演着至关重要的角色。ADC负责将模拟信号精确且高效地转换为数字信号,以便于进行…