当前位置: 首页 > news >正文

2.fs文件系统模块

文章目录

    • @[TOC](文章目录)
    • 2.5.练习-成绩管理
      • 2.5.1在files文件夹下新建成绩.txt文件
      • 2.5.2.新建对应的js文件
    • 2.6.fs模块-路径动态拼接的问题
  • 3.path路径模块
    • 3.1什么是path路径模块
    • 3.2.路径拼接
    • 3.3.获取路径中的文件名
    • 3.4.获取路径中的文件扩展名
    • 3.5.案例
      • 3.5.1.步骤1
      • 3.5.2.调用fs.readFile()方法读取文件
      • 3.5.3.自定义resolveJS方法
      • 3.5.4.自定义resolveHTML方法

2.5.练习-成绩管理

🌭步骤:

  • 导入需要的fs模块
  • 使用fs.readFile()方法,读取目录下的成绩.txt文件
  • 数据格式为小红=90 小明=80 小刚=70
  • 判断文件是否读取成功
  • 成功,处理数据
  • 将处理完的数据,调用fs.writeFile()方法,写入到新文件成绩-ok.txt文件中
  • 数据格式为小红:90 小明:80 小刚:70

2.5.1在files文件夹下新建成绩.txt文件

🎉🎉写入数据 小红=90 小明=80 小刚=70

2.5.2.新建对应的js文件

在这里插入图片描述

2.6.fs模块-路径动态拼接的问题

🚜在使用fs模块操作文件时,如果提供的操作路径是以./或…/开头的相对路径时,容易出现路径动态拼接错误的问题
🌭原因:代码运行时,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。
🥪解决方案:在使用fs模块操作文件时,使用__dirname,不要提供./或…/开头的相对路径,从而防止路径动态拼接的问题

fs.readFile(__dirname+'./files/成绩.txt', (err, data) => {if (err) {console.log('读取失败', err.message);} else {console.log('读取成功', data.toString());}
})

3.path路径模块

3.1什么是path路径模块

🧇path模块是官方提供的、用来处理路径的模块。提供一系列的方法和属性,用来满足用户对路径的处理需求。

  • path.join()方法,可以将多个路径片段拼接成一个完整的路径字符串
  • path. basename()方法,可以从路径字符串中,将文件名解析出来
    🥪require关键字导入方式

3.2.路径拼接

🍕🍕path.join() 语法格式,path.join([…paths]),任意数量的路径,返回值为 拼接好的路径字符串
在这里插入图片描述

3.3.获取路径中的文件名

🌮path.basename(path[,ext])的语法格式
🍟 可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名
在这里插入图片描述

3.4.获取路径中的文件扩展名

🚗path.extname()的语法格式
🥙可以获取路径中的文件扩展名部分,
在这里插入图片描述

3.5.案例

🚕把一个静态html文件拆分出三个不同文件,并放在一个docker目录中

  • 1.创建两个正则表达式,分别用来匹配

3.5.1.步骤1

在这里插入图片描述

3.5.2.调用fs.readFile()方法读取文件

在这里插入图片描述

3.5.3.自定义resolveJS方法

在这里插入图片描述

3.5.4.自定义resolveHTML方法

在这里插入图片描述
🍖fs.writeFile()方法只能创建文件,不能用来创建路径
🥟重复调用写入同一个文件,新写入的内容会覆盖之前的旧内容

http://www.lryc.cn/news/488642.html

相关文章:

  • Ubuntu24.04LTS设置root用户可远程登录
  • ROS2指令总结(跟随古月居教程学习)
  • IPTV智慧云桌面,后台服务器搭建笔记
  • 徒手从零搭建一套ELK日志平台
  • udp_socket
  • 肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)
  • 【Golang】手搓DES加密
  • YouQu使用手册【元素定位】
  • Spark RDD sortBy算子什么情况会触发shuffle
  • 机器视觉相机重要名词
  • Django:从入门到精通
  • android viewpager2 嵌套 recyclerview 手势冲突
  • 依赖管理(go mod)
  • Apple Vision Pro开发001-开发配置
  • android 动画原理分析
  • Elasticsearch 6.8 分析器
  • 实验室资源调度系统:基于Spring Boot的创新
  • 实验三:构建园区网(静态路由)
  • 3. SQL优化
  • web——upload-labs——第十一关——黑名单验证,双写绕过
  • AWS CLI
  • springboot:责任链模式实现多级校验
  • CentO7安装单节点Redis服务
  • FreeRTOS学习14——时间管理
  • 统⼀数据返回格式快速⼊⻔
  • Python学习------第十天
  • Win11 24H2新BUG或影响30%CPU性能,修复方法在这里
  • element ui 走马灯一页展示多个数据实现
  • 40分钟学 Go 语言高并发:Goroutine基础与原理
  • Figma插件指南:12款提升设计生产力的插件