Buffer Stream fs 模块的关系。
前言
fs
模块是 Node.js 的内置模块,提供操作文件系统的能力,比如文件及目录的创建、写入及删除等操作。
它是一个十分基础和有用的模块。Node.js 常用作 web 服务或者工具的开发,最依赖的就是 http 和 fs 模块。
在 fs
模块中,所有的方法都分为同步和异步两种实现。在很久以前,node 还不支持 Promise 的时代,异步只能通过回调的方式去使用。
文件读写操作
准备一个文件:
fs.readFile(path [, options], callback)
读取文件。
fs.writeFile(file, data[, options], callback)
写入文件。
fs.copyFile( src, dest, mode, callback )
拷贝文件。
文件夹的操作
fs.mkdir(path[, mode], callback)
创建目录。
fs.readdir(path[, options], callback)
读取目录下的所有文件和目录。
fs.stat(path, callback)
查看文件或者目录信息。
fs.rename(oldPath, newPath, callback)
文件和目录的重命名。也可以用作文件或者目录的移动。
fs.unlink()
只能用来删除文件。
fs.rm()
可递归删除文件和目录。
fs.rmdir()
删除目录。
文件描述符 flags
在读写文件时,通过可选的 flags 参数来指定一些行为。比如:
flag
默认为 w
,如果原来的文件有内容,则会覆盖掉。设置为 a
,表示会在原始内容上追加内容。
符号 |
含义 |
r |
读文件,文件不存在报错 |
r+ |
读取并写入,文件不存在报错 |
rs |
同步读取文件并忽略缓存 |
w |
写入文件,不存在则创建,存在则清空 |
wx |
排它写入文件 |
w+ |
读取并写入文件,不存在则创建,存在则清空 |
wx+ |
和w+类似,排他方式打开 |
a |
追加写入 |
ax |
与a类似,排他方式写入 |
a+ |
读取并追加写入,不存在则创建 |
ax+ |
作用与a+类似,但是以排他方式打开文件 |
各个描述符的基本含义:
- r 读取
- w 写入
- s 同步
- + 增加相反操作
- x 排他方式
- r+ w+的区别?
- 当文件不存在时,r+不会创建,而会导致调用失败,但w+会创建。
- 如果文件存在,r+不会自动清空文件,但w+会自动把已有文件的内容清空。
小结
本文总结了 fs
模块的一些常用方法。fs
模块大概有100多个方法,非常多,常用的大概就是文中总结的这些。还有一些和 Stream
有关的方法,会在后面讲到。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net