【Node】Node.Js--fs文件系统模块

server/2024/9/23 10:25:21/

文件包含文件形式和目录形式

1. 获取文件信息状态
fs.stat() 异步方法
fs.stat(path,callback),path表示文件路径; callback是指回调函数,有两个参数:(err,stats),其中stats是fs.stat的实例;fs.statsync()  同步方法
fs.statsync(path),只接收一个path变量,fs.statSync(path)其实是一个fs.stats的一个实例;fs.stat(), fs.statsync() 的实例常用方法1.stats.isFile(): 如果是文件则返回true,否则返回false;
2.stats.isDirectiory(): 如果是目录则返回true,否则返回false;
3.stats.isBlockDevice(): 如果是块设备则返回true,否则返回false;
4.stats.isCharacterDevice(): 如果是字符设备返回true,否则返回false;
5.stats.isSymbolicLink(): 如果是软链接返回true,否则返回false;
6.stats.isFIFO(): 如果是FIFO,则返回true,否则返回false.FIFOUNIX中的一种特殊类型的命令管道;
7.stats.isSocket(): 如果是Socket则返回true,否则返回false;
8.stats.size(): 文件的大小(以字节为单位)。
2. 创建目录
 fs.mkdirSync(目录的路径)fs.mkdir(目录路径,回调函数) 
3. 移除目录
 fs.rmdirSync(目录的路径)fs.rmdir(目录路径,回调函数)只能移除空目录
4. 读取目录
 fs.readdirSync(目录的路径)fs.readdir(目录路径,回调函数)读取的结果是数组
5. 写入文件
fs.writeFileSync(文件路径,写入的数据)
fs.writeFile(文件路径,写入数据,回调函数)

如果文件不存在,会先创建文件然后写入
如果文件已经存在,会清空文件中的内容然后写入数据

6. 追加写入
fs.appendFileSync(文件路径,写入的数据);
fs.appendFile(文件路径,写入数据,回调函数)

如果文件不存在,会先创建文件,然后写入数据
如果文件已经存在,会在文件的末尾追加写入数据

7. 读取文件
fs.readFileSync(文件路径);
fs.readFile(文件路径,回调函数);
读取的数据格式为buffer;
8. 删除文件
fs.unlinkSync(文件路径)
fs.unlink(文件路径,回调函数)
9. 检测文件是否目录是否存在
fs.existsSync(文件路径);
fs.exists(文件路径,回调函数);
10. 拷贝文件
fs.copyFileSync(原文件路径,目标文件路径);
fs.copyFile(原文件路径,目标文件路径,回调函数);
11. 流
fs.createReadStream() 创建可读取的文件流
fs.createWriteStream() 创建可写入的文件流

后面会进行详细的补充;

On(事件名称,回调函数) 添加事件,用于监听事件
Pipe() 管道,可以将读取的流添加到写入的流


http://www.ppmy.cn/server/9150.html

相关文章

单词规律——java

给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern "abba", s "…

v-deep 打破作用域隔离的原理

vue 中使用 scoped 样式隔离 使用 ::v-deep 和 >>> ,穿透作用域样式,以便在父组件中修改子组件的样式,即打破样式隔离。 vue 使用了一种叫做 scoped css 的技术来隔离组件的样式,确保他们不会泄漏到其他组件中&#xf…

2024接口自动化测试入门基础知识【建议收藏】

接口自动化测试是指通过编写测试脚本和使用相关工具,对软件系统的接口进行自动化测试的过程。 今天本文从4个方面来介绍接口自动化测试入门基础知识 一、接口自动化测试是什么? 二、接口自动化测试流程? 三、接口自动化测试核心知识点有那些…

设计模式——模板方法

1)模板方法模式(Template Method Pattem),又叫模板模式(Template Patern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 2)简单说,模板方法模式 定义一个操作中…

游戏中的伤害类型

在许多角色扮演游戏(RPG)、多人在线战斗竞技场(MOBA)游戏以及其他类型的游戏中,伤害类型是决定攻击效果如何与目标互动的重要因素。通常,伤害类型分为物理伤害、魔法伤害和真实伤害。下面是这些伤害类型的详…

网络基础之-IP地址

文章目录 1. IP地址:网络和主机1.1 A类IP地址1.2 B类IP地址1.3 C类IP地址1.4 D类和E类IP地址 2.几个特殊的IP地址2.1 私有地址2.2网关 1. IP地址:网络和主机 IP地址是用于在计算机网络中唯一标识设备的一组数字。它由32位(IPv4)或…

力扣169. 多数元素

Problem: 169. 多数元素 文章目录 题目描述思路复杂度Code 题目描述 思路 1.哈希表 将数组中的每个元素作为键,其出现的次数作为值存入哈希表中,最终找出多数元素 2.排序 将数组进行升序排序,由于多数元素大于数组长度的一半,则排…

【Git 】常用指令

Git Git是一个功能强大的分布式版本控制系统,被广泛应用于各种项目开发中。本文将为您介绍一些常用的Git指令,帮助您更好地使用Git进行版本控制。 Git的特点包括: 分布式:Git是一个分布式版本控制系统,每个开发人员都…