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

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

1. 获取文件信息状态
javascript 复制代码
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.FIFO是UNIX中的一种特殊类型的命令管道;
7.stats.isSocket(): 如果是Socket则返回true,否则返回false;
8.stats.size(): 文件的大小(以字节为单位)。
2. 创建目录
javascript 复制代码
 fs.mkdirSync(目录的路径)
 fs.mkdir(目录路径,回调函数) 
3. 移除目录
javascript 复制代码
 fs.rmdirSync(目录的路径)
 fs.rmdir(目录路径,回调函数)
 只能移除空目录
4. 读取目录
javascript 复制代码
 fs.readdirSync(目录的路径)
 fs.readdir(目录路径,回调函数)
 读取的结果是数组
5. 写入文件
javascript 复制代码
fs.writeFileSync(文件路径,写入的数据)
fs.writeFile(文件路径,写入数据,回调函数)

如果文件不存在,会先创建文件然后写入

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

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

如果文件不存在,会先创建文件,然后写入数据

如果文件已经存在,会在文件的末尾追加写入数据

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

后面会进行详细的补充;

On(事件名称,回调函数) 添加事件,用于监听事件

Pipe() 管道,可以将读取的流添加到写入的流

相关推荐
岁月宁静2 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js
格鸰爱童话3 小时前
next.js学习——react入门
学习·react.js·node.js
GISer_Jing6 小时前
Node.js 开发实战:从入门到精通
javascript·后端·node.js
星光一影10 小时前
基于SpringBoot与Vue的海外理财系统设计与实现
vue.js·spring boot·后端·mysql·node.js·html5
百***926510 小时前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
百***353310 小时前
node.js+npm的环境配置以及添加镜像(保姆级教程)
arcgis·npm·node.js
濮水大叔11 小时前
VonaJS: 序列化/数据脱敏(上)
typescript·node.js·nestjs
by__csdn13 小时前
Node各版本的区别,如何选择版本以及与NPM版本对照关系
前端·npm·node.js
阿珊和她的猫14 小时前
WebRTC 技术深度解析:实时通信的未来引擎
前端·webpack·node.js·webrtc