目录 前言 文件系统 目录处理 读写文件 文件描述 监控文件 异步文件 删除文件 总结 前言 前两天我们介绍了 Nodejs 中 I/O 的重要组成部分: Buffer对象 和 Stream流 ,今天我们介绍 Nodejs 的
目录
- 前言
- 文件系统
- 目录处理
- 读写文件
- 文件描述
- 监控文件
- 异步文件
- 删除文件
- 总结
前言
前两天我们介绍了 Nodejs 中 I/O 的重要组成部分:Buffer对象
和 Stream流
,今天我们介绍 Nodejs 的文件系统,包括文件和目录的读写、删除,以及监听文件和目录的修改。
文件系统
Nodejs 内置的 fs模块
可与文件系统进行交互,封装了常规的 POSIX函数
。POSIX(Portable Operating System Interface,可移植操作系统接口)是UNIX系统的一个设计标准。fs模块提供了多个操作目录和文件的方法,大多会有同步和异步两种版本。同步的方法名称会以Sync为后缀。
目录处理
fs模块的 readdir()
方法可异步的读取目录内容。回调函数包含两个参数,第一个是错误对象,第二个是一个包含文件名称的数组,对应的同步方法是 readdirSync()
。在下面的示例中,当前目录包含两个文件,上一级目录包含一个目录名称。
const fs = require('fs'); fs.readdir('./', (err, files) => { console.log(files); //[ 'demo.txt', 'index.js' ] }); fs.readdir('../', (err, files) => { console.log(files); //[ '1' ] });
其它处理目录的方法还有 opendir()
、mkdir()
等。
读写文件
在fs模块中,可使用批量方法 readFile()
将文件内容一次性的加载到内存中,如下所示。
const fs = require('fs'); fs.readFile('./origin.txt', (err, buf) => { console.log(buf.toString()); //"hello Node.js" });
对应的写入方法是 writeFile()
,如下所示。
fs.writeFile('./target.txt', 'hello Node.js', (err) => { if (err) throw err; console.log('文件已被保存'); });