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

news2024/11/18 9:42:58

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.coloradmin.cn/o/1386246.html

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

相关文章

记录centos7.9 离线安装fastllm 编译遇到的问题

centos7.9 安装fastllm 编译步骤 Step1安装cmake: 参考: https://bitsanddragons.wordpress.com/2022/09/19/error-cmake-3-1-or-higher-is-required-you-are-running-version-on-centos-7-x/ ​ 问题1:/lib64/libstdc.so.6: version GLIBCXX_3.4.20‘ not found …

request entity too large

1、分2中情况。 (1)带413 请求文件太大(不包含参数) 413 Request Entity Too Large (2)不带413 请求实体太大(包含参数,文件等) 客户端发送的实体主体部分比服务器能…

GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究

官方网址:https://go-zero.dev/docs/tasks/cli/grpc-demo 项目结构 demo包 两个文件均为protoc-gen-go-grpc自动生成构成一个完整的 gRPC 服务的定义和实现 democlient包 demo.go goctl生成的客户端代码 Request 和 Response 别名: 定义了 Request 和…

springboot+mysql大学生就业推荐系统-计算机毕业设计源码01535

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对学生就业管理等问题,对学生就业…

【CGAL系列】---Mesh修复

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享CGAL中关于Mesh修复问题,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞关注,小易会继续努力分享,一起进步! 你的点赞就是我的动…

Java中单体应用锁的局限性分布式锁

互联网系统架构的演进 在互联网系统发展之初,系统比较简单,消耗资源小,用户访问量也比较少,我们只部署一个Tomcat应用就可以满足需求。系统架构图如下: 一个Tomcat可以看作是一个JVM进程,当大量的请求并发到达系统时&…

使用php代码调用jar包里面的类方法的实战操作

#php调用jar包# 需求说明 接到一个需求,网站是使用php开发的帝国cms,现接到需求是需要对接一个系统 ,但系统里面有一个数据加密字段,需要使用jar包进行加解密。 技术解决方案,资源包解决一切。下载就行了&#xff0…

Springboot整合Redission分布式锁使用实例

Springboot整合Redission分布式锁 引言:实际项目中,我们经常会遇到一些需要考虑使用分布式锁的场景,以防止页面重复请求或者多系统之间相互重复调用的产生业务偏差的问题; 例如: 1.并发的场景下,生成订单需…

LeetCode刷题---基本计算器

解题思路: 根据题意,字符串中包含的运算符只有和- 使用辅助栈的方法来解决该问题 定义结果集res和符号位sign(用于判断对下一数的加减操作),接着对字符串进行遍历。 如果当前字符为数字字符,判断当前字符的下一个字符是否也是数字字符&#x…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (2) | 图像分类与损失函数

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

深度学习 Day25——J4 ResNet与DenseNet结合探索(DPN)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DPN算法2.1 前期准备2.1.1 引入库2.1.2 设置GP…

如何构建高质量,低成本的移动机器人(AGV/AMR)?

中国移动机器人行业规模的不断扩大,低成本无人化是现市场需求突出的特点之一。然而研发一套完整的移动机器人导航方案不仅需要耗费大量的人力成本,还要经过漫长的市场验证,这将滞后整个产业的发展,并有可能错失市场的抢占先机。 如…

数据绑定,defineProperty,v-on,事件处理

目录​​​​​​​ v-bind单向数据绑定 defineProperty 是v-on的简写 事件处理 v-bind单向数据绑定 从name绑定到v-bind到value单向数据绑定&#xff1a; <input type"text" :value"name"> <input type "text" v-model"na…

API可视化编排如何实现

企业随着前后端分离架构、微服务架构、中台战略、产业互联互通的实施必将产生大量的各种协议的API服务&#xff0c;API将成为企业的数字化资产且API会越来越多&#xff0c; API服务之间的相互调用和依赖情况也随之越来越多和复杂。业务系统与业务系统之间、关联企业之间的API都…

【极光系列】Windows安装Mysql8.0版本

【极光系列】Windows安装Mysql8.0版本 一.mysql服务端 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 二.解压二进制包 解压到 E:\mysql-8.0.35-winx64目录下&#xff0c;记住你解压后的目录&#xff0c;后续要使用三.创建my.ini文件 tips&#xff1a;mys…

深圳三维扫描分析/偏差检测模具型腔三维尺寸及形位偏差测量公司

CASAIM中科广电三维扫描模具型腔深圳案例&#xff1a; 模具型腔的三维扫描分析/偏差检测是一项重要的质量控制过程&#xff0c;旨在确保模具制造过程中的精确度和一致性。 CASAIM中科广电通过使用高精度的三维扫描设备&#xff0c;可以获取模具型腔的实际形状和尺寸数据&…

解决com.alibaba.fastjson.JSONException: default constructor not found的问题

1.问题描述 在进行JSON和对象互转时&#xff0c;发现有个报错&#xff1a; com.alibaba.fastjson.JSONException: default constructor not found. class com.hellobike.ph.match.service.taxi.model.message.DelayAddSkuMsg 2.原因和解决方案 通过其提示可以看出在利用fastJ…

基于 IDEA 进行 Maven 工程构建

一、构建概念和构建过程 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程&#xff0c;在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中至关重要的一部分&#xff0c;它能够大大提高软件开发效率&…

【TypeScript】tsconfig.json文件到底是干啥的?作用是什么?

参考学习博文&#xff1a; 掌握tsconfig.json 一、tsconfig.json简介 1、tsconfig.json是什么&#xff1f; TypeScript 使用 tsconfig.json 文件作为其配置文件&#xff0c;当一个目录中存在 tsconfig.json 文件&#xff0c;则认为该目录为 TypeScript 项目的根目录。 通常…

西贝柳斯音乐记谱软件Avid Sibelius Ultimate 2023中文激活版

Avid Sibelius(西贝柳斯终极解锁版) 是一款记谱软件&#xff0c;从有抱负的作曲家和词曲作者到教师和学生&#xff0c;任何人都可以快速轻松地开始创作和分享音乐。对于那些还不熟悉使用符号软件的人来说&#xff0c;直观的界面将引导您完成整个过程。磁性布局可防止对象相互碰…