JS中的File(五):node.js中的file模块使用

详情阅读官方文档:

File system | Node.js v22.5.1 Documentation

Node.js fs.write() Method - GeeksforGeeks

这里暂时仅提供一些简单的梳理和阅读小tips(偷懒一下

0.基本认知

对文件系统的操作可以主要分为几个主要部分:打开文件、新建文件、读写增删、关闭文件 等。

fs模块中,存在一些共用对象,这些对象记录了一些基本的文件系统信息,比如文件状态信息、目录信息、读写流对象、文件常量等等。在下文介绍函数方法时,有时会涉及对这些共用对象的操作,因此我们在这做个简单的梳理,具体可查阅文档。

对象 含义
Class: fs.Dir 文件夹对象
Class: fs.Dirent 读取fs.Dir之后返回的对象,可以是子文件夹或者文件
Class: fs.FSWatcher 文件事件监听对象,fs.watch() 方法的返回对象
Class: fs.StatWatcher fs.watchFile()方法的返回对象
Class: fs.ReadStream 继承于readstream对象
Class: fs.WriteStream 继承于writestream对象
Class: fs.Stats 存储关于一个文件的基本信息
Class: fs.StatsFs 存储本文件系统的基本信息
fs.constants 文件系统常量

另外,fs模块提供的函数方法分为三大类:

基于Promise的api、基于函数回调的api、同步执行sync的api

大多数api都包含这三类方法,大家可以根据习惯和逻辑选择自己需要的api类型

在读/写文件值得注意的一点是:

  • 常规的读写流程是需要先用open方法打开文件,获取文件句柄,再传入目标文件句柄进行读read()或者写write()操作
  • 但是!fs模块提供的readFile 或 writeFile可以**++直接根据文件路径,来获取文件并读取内容++**
相关推荐
是谁眉眼3 小时前
npm执行错误 但黑窗口node可以成功启动问题分析
前端·npm·node.js
donecoding3 小时前
Monorepo 里有 app 也有共享包,lerna 真的还需要吗?
前端·node.js·前端工程化
阿正的梦工坊4 小时前
认证、授权、JWT、密码哈希:Node.js 鉴权到底在做什么
算法·node.js·哈希算法
Bigger16 小时前
Bun 能上生产吗?我的实战结论
前端·node.js·bun
不会敲代码119 小时前
从零搭建 RAG 电子书智能问答系统:天龙八部 × Milvus × LangChain
langchain·node.js·llm
donecoding2 天前
nrm、corepack、npm registry 三者的爱恨情仇
前端·node.js·前端工程化
明月_清风2 天前
关于node 模块化的现状与未来
前端·node.js
李白的天不白3 天前
webpack 与 webpack-cli 版本匹配问题
前端·webpack·node.js
李白的天不白3 天前
webpack 与axios 版本冲突问题
前端·webpack·node.js
donecoding3 天前
pnpm 全局包与 nvm 的真相:命令永在,运行时随缘
node.js·claude