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

相关推荐
大虾写代码9 小时前
nvm和nrm的详细安装配置,从卸载nodejs到安装NVM管理nodejs版本,以及安装nrm管理npm版本
前端·npm·node.js·nvm·nrm
EndingCoder10 小时前
Electron 跨平台兼容性:处理 OS 差异
前端·javascript·electron·前端框架·node.js·chrome devtools
艾小码1 天前
手把手教你实现一个EventEmitter,彻底告别复杂事件管理!
前端·javascript·node.js
前端小哲1 天前
MCP从入门到实战
node.js·ai编程
dasseinzumtode1 天前
nestJS 使用ExcelJS 实现数据的excel导出功能
前端·后端·node.js
梅孔立1 天前
服务器不支持node.js16以上版本安装?用Docker轻松部署Node.js 20+环境运行Strapi项目
服务器·docker·node.js
XiaoMu_0011 天前
基于Node.js和Three.js的3D模型网页预览器
javascript·3d·node.js
卿·静1 天前
Node.js对接即梦AI实现“千军万马”视频
前端·javascript·人工智能·后端·node.js
lvlv_feifei1 天前
N8N macOS (Apple Silicon) 完整安装配置教程
node.js·workflow