【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() 管道,可以将读取的流添加到写入的流

相关推荐
浏览器API调用工程师_Taylor15 小时前
日报自动化实战:告别手动复制粘贴
前端·javascript·node.js
Larcher16 小时前
JS 变量声明避坑指南:彻底搞懂 var/let/const 的 3 大核心区别与最佳实践
前端·javascript·node.js
Moment17 小时前
Electron 发布 39 版本 ,这更新速度也变态了吧❓︎❓︎❓︎
前端·javascript·node.js
Boale_H1 天前
如何获取npm的认证令牌token
前端·npm·node.js
帅气的花泽类1 天前
npm error code ERR_SSL_TLSV1_UNRECOGNIZED_NAME
前端·npm·node.js
San301 天前
使用 OpenAI API 生成文本与图片:从环境搭建到提示工程完全解析
javascript·人工智能·node.js
Boale_H1 天前
前端流水线连接npm私有仓库
前端·npm·node.js
有点笨的蛋2 天前
从零构建你的 AIGC 后端:pnpm + dotenv + OpenAI SDK 的现代工程实践
人工智能·node.js
喜欢踢足球的老罗2 天前
零依赖一键多端!用纯 Node.js 打造“IP 可访、角色隔离”的轻量化 Mock 服务器
服务器·tcp/ip·node.js
2501_938782092 天前
《Express 面试高频错题集:容易踩坑的 Node.js 后端问题解析》
面试·node.js·express