node.js当中的fs模块与readline模块主要对应着系统的文件操做,node当中的文件操做和网络操做都属于阻塞性操做,故存在着大量的异步回调函数,其回调函数遵循上一篇文章介绍的 node.js当中对于回调函数的规定 的规则。而且为了不出错,凡是涉及文件操做,咱们一概使用文件的绝对物理路径来传递文件路径参数,这里经常使用的为path.join()
和__dirname
,可详细用法可参考 node.js当中的全局成员与path模块的使用。文件操做的api当中,每个异步操做的api都有一个与之对应的同步方法,在此只介绍异步的api,通常来讲,同步的方法只是比异步的方法少了一个回调函数的参数。node
该方法用于检测文件的状态,能够借此来判断某个文件是否存在。path
参数传入该文件的绝对物理路径,该callback
回调函数有两个参数err
和stats
。其中err
为错误信息参数,stats
为一个文件状态对象。segmentfault
若传入的文件路径当中的文件不存在,则会出现以下的报错信息。api
该方法可用于往指定文件当中写入内容,该内容会覆盖文件当中原有的内容。若传入的文件路径当中的文件不存在,则先完成该文件的穿件,再往里面写入指定内容。path
参数为该文件的绝对物理路径,data
为须要写入该文件当中的数据内容,其中options
参数可选,能够传入编码格式,若不传则默认为utf8
。callback
回调参数当中只有一个错误信息参数err
,通常在写入失败时触发调用。数组
该方法可用于往指定文件当中追加写入内容,该内容不会覆盖文件当中原有的内容,只会在原有内容的基础上进行追加。若传入的文件路径当中的文件不存在,则先完成该文件的穿件,再往里面写入指定内容。path
参数为该文件的绝对物理路径,data
为须要写入该文件当中的数据内容,其中options
参数可选,能够传入编码格式,若不传则默认为utf8
。callback
回调参数当中只有一个错误信息参数err
,通常在追加写入失败时触发调用。网络
该方法可用于完成指定文件的删除。path
参数为该文件的绝对物理路径,callback
回调参数当中只有一个错误信息参数err
,通常在该文件不存在或者删除文件失败时触发调用。app
该方法用于读取指定文件当中的内容,path
参数为该文件的绝对物理路径,其中options
参数可选,能够传入编码格式,如读取文本文件时,可传入'utf8'
,若不指定编码格式,则默认输出读取的文件内容为Buffer
形式,故通常都会传入该参数。callbac
k回调参数当中有两个参数err
和data
,其中err
为错误信息参数,通常在在文件不存在或者读取文件失败时触发调用,data
为文件内容。异步
该方法可用于移动或重命名指定文件。oldPath
参数为该文件原来的路径,newPath
参数为该文件移动或重命名以后的路径,这两个参数都必须能传入文件完整的绝对物理路径。callback
回调参数当中只有一个错误信息参数,通常在oldPath
当中指定的文件不存在或者该操做失败时触发调用。函数
注意:文件的新路径当中的文件夹必须存在,若不存在则会出现以下的报错信息。编码
该方法能够用于建立一个目录文件夹,其中path
为该目录的绝对物理路径,callback
回调函数当中也只有一个错误信息参数,通常在目录建立失败时触发调用。spa
注意:该方法不能完成多级目录的建立,
node
当中要求要建立的那个文件夹所在的文件夹必须能都存在。不然就会出现报错信息。
该方法能够用于删除一个空目录。其中path
为该目录的绝对物理路径,callback
回调函数当中也只有一个错误信息参数,通常在该目录不存在或者删除操做失败时触发调用。
注意:该传入的目录路径当中的目录必须能为一个空目录,不然会出现以下的报错信息,也不能完成删除操做。
该方法能够用于读取一个指定目录当中的信息。其中path
为该目录的绝对物理路径,callback
回调函数当中有两个参数err
和files
,err
为错误信息参数,通常在该目录不存在或读取失败时触发调用,files
为一个数组对象,包含该目录下的全部文件夹与文件的名字。(仅为文件夹的名字和文件名,不是路径形式)。