day01fs模块

2023-11-12

一、文件操作

(一)、文件删除

1.异步:fs.unlink(path,callback)

fs.unlink(‘./hello.txt’,(err)=>{
	console.lo(err)
	//回调函数参数err返回错误信息或者null
})

2.同步:fs.unlinkSync(path)  不存在回调函数

fs.unlinkSync('./hello.txt')

(二)、文件的读取 

1.异步:fs.readFile(path,[,options],callback)     

/*
    options写或者不写都不会影响程序的执行,它意思是,读取到的信息以什么方式输出。比如,填入’utf-8’,那么读取到的文件内容将以utf-8的格式输出。默认是buffer格式的。也可以通过Tostring的方式即将data转化成utf-8格式.
    callback里面的参数有两个,一个是err,表示报错信息,一个是data,表示读取到的信息.
*/
//示例:
fs.readFile('./hello.txt','utf-8',(err,data)=>{
   console.log(data,err)
})

2.同步:fs.readFileSync(path,[,options])

//需要用一个变量来接收读取到的内容
let content=fs.readFileSync('hello.txt','utf-8')
console.log(content)

(三)、文件内容写入 

包含的功能(创建文件,写入,修改文件内容---与options挂钩)

1.异步:fs.writeFile(path,data,[options],callback)

/*
data:写入的内容
options:{flag:"a"},写入的方式。若options存在,则写入的内容接在当前文件内容的后面,否则,将采取覆盖的方式写入。
*/
//示例:
fs.writeFile('hello','海棠花未眠',{flag:"a"},(err)=>{
    console.log(err)
})

2.同步:fs.writeFileSync(path,data,[options])

fs.writeFileSync('hello.txt','海棠花未眠',{flag:"a"})

二、文件夹操作

(一)、创建文件夹

一次只能创建一个

1.异步:fs.mkdir(pathName,callback)

/*
    pathName:文件夹路径
    callback:(err)=>{} || function(err){}
    回调函数参数 err:返回报错信息 || null
*/

//示例:
fs.mkdir('./summer',(err)=>{
    console.log(err)
})

2.同步:fs.mkdir(pathName)

fs.mkdir('./summer')

(二)、删除文件夹

1.异步:fs.rmdir(pathName,[,options],callback)

/*

    pathName:文件夹路径
	[,options]:设置{recursive:true}之后会强制删除文件夹里的所有内容
	callback:(err)=>{} || function(err){}
	回调函数参数 err:返回报错信息 || null
*/

//示例:
fs.rmdir('./folder',{recursive:true},(err)=>{
	console.log(err)
})

2.同步: fs.rmdirSync(pathName,[,options])

fs.rmdir('./folder',{recursive:true})

注:另外一种方式rm,用法相同。

(三)、读取文件夹

返回值是一个数组 数组成员为子目录下的文件名及文件夹名

1.异步:fs.readdir(pathName,callback)

/*
    pathName:文件夹路径
    callback:(err,data)=>{} || function(err,data){}
	回调函数参数 err:返回报错信息 || null
	data:获取一个数组格式数据(文件夹子目录的文件和文件夹的名称)
*/
//示例:

fs.readdir('./folder',(err,data)=>{
   console.log(err,data)
})

2.同步:fs.readdirSync(pathName)

let result = fs.readdirSync("./luyao") 
console.log(result)

三、文件和文件夹的监听

(一)、判断文件或文件夹是否存在

fs.existSync(path)

//示例:返回值为布尔值
let result=fs.existsSync('./folder')
console.log(result)
console.log(fs.existsSync('./folder/summer.txt'))

(二)、查看文件或文件夹信息(不重要,用的不多)

fs.stat(path,callback)
path:文件夹或文件的地址
callback => 回调函数(err,data)=>{} || function(err,data){}
err:返回报错信息 || null
data: 获取文件和文件夹信息

存在同步和异步两种方式

(三)、修改文件名或文件夹名

 功能:
    1.剪切  oldPath==newPath,通过设置newPath进行位置修改达到剪切效果
    2.改名  设置oldPath和newPath的名称不一致

 1.异步:fs.rename(oldPath,newPath,callback)

/*
    oldPath: 选择将需要修改的文件或文件夹地址(路径--文件需要后缀)
	newPath: 将选择文件或文件夹进行重命名,并且选择放置位置(路径-地址)
	callback => 回调函数(err)=>{} || function(err){}
    回调函数参数  
    err:返回报错信息 || null
*/
//剪切
fs.rename('./folder/hello.txt','./folder/hai/hello.txt',(err)=>{
     console.log(err)
})
//改名
fs.rename('./folder/summer.txt','./folder/hello.txt',(err)=>{
    console.log(err)
 })

2.同步:fs.rename(oldPath,newPath)

//剪切
fs.rename('./summer/hello.txt','./hello.txt')
//改名
fs.rename('./summer/hello.txt','./summer.happy.txt')

四、监听文件或文件夹中发生的操作

path:文件夹或文件的地址
callback => 回调函数(type,name)=>{} || function(type,name){}
type:触发的时间的类型(change:修改)  (rename:删除||添加)
name: 触发事件文件的名称

异步:fs.watch(path,callback)

fs.writeFileSync('./summer.txt','取次花丛懒回顾',{flag:"a"})
fs.watch('./summer.txt',(type,name)=>{
    console.log(type,name)
})

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

day01fs模块 的相关文章

随机推荐

  • 【华为OD机试】查字典 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 人眼定位算法简单概述

    这篇博客只是总结一下人眼定位的方法 首先人眼定位效果是得到人眼的坐标 即瞳孔的坐标 大体来说人眼定位的方法有两种 第一种是利用人眼的几何特征 灰度特征等通过算法来实现定位 第二种要通过机器学习 其实opencv自带了瞳孔分类器 但我应用起来
  • 基于 python的MES管理系统

    一 项目简介 基于 python的MES管理系统 二 实现功能 支持多端 pc端 移动端 小程序 app 支持各种协议 modbus mqtt 支持接入各种数据源 内置数据计算服务 支持数据清洗 支持数据可视化 支持空间数据 支持门店数据
  • ZooKeeper的一个性能测试

    2011 07 15 18 07 00 3台ZooKeeper服务器 8核64位jdk1 6 log和snapshot放在不同磁盘 场景一 同一个目录下 先createEPHEMERALnode 再delete create和delete各
  • 人脸识别技术成熟加速终端设备技术扩展

    脸支付的应用 已经对我们的生活带来了很多便利 除了金融 现在商超等场景 也大多添加了刷脸支付设备 无需拿出手机 不用担心手机没电 刷脸即可支付 人脸识别技术的成熟 也加速了在终端设备的技术扩展速度 现在的刷脸设备 除了基本的支付功能 还融合
  • xxx.jar中没有主清单属性解决办法

    在springboot中的pom xml文件中引入
  • MyEclipse下配置WebLogic10(转)

    MyEclipse下配置WebLogic10 转 安装 WebLogic 比较容易 在这里就不再累述了 大家可以参阅相关文档 现在着重讲一下 WebLogic 的配置 因为后面在配置 MyEclipse 时将用到这里的配置信息 运行开始 g
  • 【Bug记录】Fail to create pixmap with Tk_GetPixmap in TkImgPhotoInstanceSetSize

    Bug记录 项目场景 问题描述 解决方案 项目场景 绘图代码出现Fail to create pixmap with Tk GetPixmap in TkImgPhotoInstanceSetSize 问题描述 在测试网络时出现此Bug 可
  • 机器数的原码、反码、补码、移码表示以及浮点数的二进制表示

    初学计算机组成原理时 有点儿搞不清楚机器数的各种表示方法 今天在这里总结一下 希望对大家有帮助 首先明确两个概念 机器数是指将 和 数字化的数 其中用 0 表示 1 表示 而对应的有 和 的数则称为真值 机器数的表示方法 1 原码表示法 符
  • debug模式下,一个30的for循环直接从i=1跳到你想要的数字(i=10)

    废话不多说 直接上图 1 先创建一个for循环 debug模式运行 在for循环中间打断点 我们可以看出刚运行的时候i 0 2 点击 debug 下一步 或者F6 直到他显示这个variables 这时 我们可以对i进行任意的修改你想要的数
  • 【Python】 14-CVS文件操作

    1 CVS文件 值没有类型 所有东西都是字符串 没有字体大小或颜色的设置 没有多个工作表 不能指定单元格的宽度和高度 不能合并单元格 不能嵌入图像或图表 CSV 文件中的每个单元格 有逗号分割 也许你可以只是对每行文本调用 split 方法
  • Google Pixel 3玩机教程

    说到谷歌的亲儿子Pixel系列 你一定就会想到安卓原生系统 现在我将会教你如何使用pixel去root并且破解电信 第一步 解锁手机 1 打开手机的开发者选项 选择OEM解锁 打开它 再把USB调试打开 2 在电脑上的google deve
  • GPIO的开漏和推挽

    GPIO的开漏和推挽 简单来说推挽输出可以自由输出高低电平 开漏输出只能在关闭时配合上拉提高高电平 打开时漏掉电流形成低电平 操作单片机点亮一个LED的时候我们需要操作GPIO输出一个高电平来点亮一个LED 当我们打开用户手册时会发现GPI
  • OR-Tool 报INFEASIBLE

    OR Tool 使用Minimum Cost Flows报 There was an issue with the min cost flow input Status Status INFEASIBLE 这是因为node的编号需要是连续的
  • 肺炎疫情攻防战--肺炎X光病灶识别 Pytorch baseline

    肺炎疫情攻防战 肺炎X光病灶识别 Pytorch baseline 刚从Keras转Pytorch没多久 一边看着文档一边Google完成这比赛的baseline 比赛地址 比赛简介 本次由2019 nCoV病毒引发的肺炎疫情仍在持续 AI
  • 使用Hugging Face管道轻松应用NLP预训练模型

    这一段时间在研究自然语言处理 一直想找一些预训练模型 发现这个非常全 就收藏好好研究 作者 Robin van Merle 编译 VK 来源 Towards Data Science 原文链接 https towardsdatascienc
  • VMware中NET模式无法获取IP地址

    0x00 打开我的kali尝试运行脚本时 发现无论是桥接还是NET都无法获取到IP地址 经过各种百度以及尝试 最终解决 因此在此写下文章来记录一下 如果你也遇到相同问题 希望可以帮助到你 0x01 先看一下在NET下无法获取到地址的情况 此
  • react-create-app 基于 react-app-rewired scss设置全局变量全局函数

    目录 重写react脚手架配置 使用 scss 引用全局 scss 文件中的变量和函数应用全局 测试 重写react脚手架配置 customize cra 合并配置 react app rewired 重写react脚手架配置 安装依赖 n
  • 镜头桶形失真校正算法

    短焦镜头通常会产生桶形失真 以下是校正算法的matlab代码 cpp view plain copy 镜头桶形失真校正 短焦镜头 img origin1 imread Still001 bmp img origin rgb2gray img
  • day01fs模块

    一 文件操作 一 文件删除 1 异步 fs unlink path callback fs unlink hello txt err gt console lo err 回调函数参数err返回错误信息或者null 2 同步 fs unlin