Node.js简明教程七:文件和目录操作

Node实现的文件IO是包装了标准的POSIX函数。Node文件系统的操作模块为fs:

同步和异步文件操作:Node.js简明教程三:回调(callback)的概念
使用流:Node.js简明教程六:stream流

打开文件

使用open方法:

  • path:要打开的文件路径
  • flags:打开文件模式,在下表中列出
  • mode:设置文件权限,只有当文件创建时。默认值是0666,允许读和写
  • callback:回调函数,有两个参数(err, fd)

flags表:

flag描述
r以读模式打开文件。如果文件不存在会产生异常
r+以读写模式打开文件。如果文件不存在会产生异常
rs以读模式打开文件,同步模式
rs+以读写模式打开文件,同步模式
w以写模式打开文件,如果文件不存在,创建文件,如果文件存在,清空内容
wx同w,但是如果路径存在则失败
w+以读写模式打开文件,如果文件不存在,创建文件,如果文件存在,清空内容
wx+同w+,但是如果路径存在则失败
a以追加方式打开文件,如果文件不存在,创建文件
ax同a,但是如果路径存在则失败
a+以追加和读方式打开文件,如果文件不存在,创建文件
ax+同a+,但是如果路径存在则失败

例子:打开文件用来读写,main.js:


获取文件信息

使用的方法:

  • path:文件路径
  • callback:回调函数,带两个参数(err, stats)。stats是fs.Stats的对象,包含文件的信息状态,并且提供个几个有用的方法。

fs.Stats里的方法如下表:

方法描述
stats.isFile()如果是一个文件返回true
stats.isDirectory()如果是一个目录返回true
stats.isBlockDevice()如果是一个块设备返回true
stats.isCharacterDevice()如果是一个字符设备返回true
stats.isSymbolicLink()如果是一个符号链接返回true
stats.isFIFO()如果是一个FIFO文件返回true
stats.isSocket()如果是一个socket文件返回true

例子:

执行:


读写文件

使用的方法:

如果文件存在,上面方法覆盖文件。如果想要写入以存在的文件,应该使用其它方法。

执行:


使用文件描述符读文件

使用方法:

使用文件描述符读取,如果想使用文件名,可以使用上面方法。


截断文件


删除文件


创建目录

创建目录方法:

示例:


读取目录

使用方法:

示例:

执行:


移除目录


递归遍历目录下的文件

执行:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注