Node.js中文件操作模块File System的详细介绍

2020-06-17 07:07:30易采站长站整理

File System的缩写是fs,该模块提供本地文件的读写能力。

Nodejs导入文件系统模块(fs)语法如下所示:


var fs = require("fs");

异步和同步

Node.js文件系统(fs模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的

fs.readFile()
和同步的
fs.readFileSync()

异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。同步则没有回调函数。

建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。

打开文件

语法如下:


fs.open(path,flags[,mode],[callback(err,data)]);//异步

     path – 文件的路径。

     mode – 设置文件模式(权限),文件创建默认权限为0666(可读,可写)。

     callback – 回调函数,带有两个参数如:

callback(err,fd) 

     flags – 文件打开的行为。具体如下:

flagdescription
r以读取模式打开文件。如果文件不存在抛出异常。
r+以读写模式打开文件。如果文件不存在抛出异常。
rs以同步的方式读取文件。
rs+以同步的方式读取和写入文件。
w以写入模式打开文件,如果文件不存在则创建。
wx类似 ‘w’,但是如果文件路径存在,则文件写入失败。
w+类似 ‘w+’, 但是如果文件路径存在,则文件读写失败。
wx+类似 ‘w+’, 但是如果文件路径存在,则文件读写失败。
以追加模式打开文件,如果文件不存在则创建。
ax类似 ‘a’, 但是如果文件路径存在,则文件追加失败。
a+以读取追加模式打开文件,如果文件不存在则创建。
ax+类似 ‘a+’, 但是如果文件路径存在,则文件读取追加失败。

获取文件信息

语法如下:


fs.stat(path,[callback(err,stats)]);//异步

fs.stat(path)
执行后,会将stats类的实例返回给其回调函数。可以通过stats类中的提供方法判断文件的相关属性。

stats类中的方法有: