NodeJs Fs模块

和前面的Http、Url模块一样,Fs模块也是node的核心模块之一,主要用于对系统文件及目录进行读写操作。

基本方法

fs.stat

fs.stat可以用来判断是文件还是目录:stats.isFile()用于检测是否是文件,stats.isDirectory()用于检测是否是目录,两个都返回布尔值。

 测试前,在fs01.js文件所在的目录下,新建一个文件夹和一个文件

    

fs.mkdir

fs.mkdir可以用来创建目录,该方法能接受sane参数:path(将创建的目录路径),mode(读写权限,默认0777),callback(异常回调)

运行上面创建目录的代码,正常情况下会在控制台打印出创建成功的语句,并生成相应目录

     

fs.writeFile

fs.writeFile可以用来创建文件并写入内容。该方法接收4个参数:filename、data、options和callback,其中filename是文件名称,data是将要写入的内容,可以是字符串或者buffer数据,callback传递异常回调,options是一个数组对象,包含encoding(可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored)、mode(文件读写权限,默认值 438)、flag(默认值 ‘w')。

执行上面的代码,将会在执行http目录下生成一个hello.txt的文件,并在这个文件中写入相应内容

    

如果添加的时候,已经存在改文件,那么新添加的会在原来的基础上进行覆盖。

   

fs.appendFile

fs.appendFile用于向文件内追加内容(虽然名为追加内容,但实际是覆盖,目前还不是很明白)

    

在进行内容追加的时候,如果目标文件不存在,会先创建文件,然后添加内容。

fs.readFile

fs.readFile用于读取文件

   

fs.readdir

fs.readdir用于读取目录,能够同时获取目录下的文件和文件夹,返回一个包含文件名和文件夹名称的数组。

读取同时包含文件夹和文件的目录:

      

读取只包含文件的目录:

     

fs.rename

fs.rename用于给文件或文件夹重命名,在给文件重命名的时候,需要保证文件类型一致。

文件夹重命名:

  

文件重命名:

   

修改文件类型的重命名:

fs.rmdir

fs.rmdir用于删除文件夹。用该方法来删除文件或者不存在的文件夹的时候会报错。

   

fs.unlink

fs.unlink用于删除文件。同样,如果使用该方法删除文件夹或者不存在的文件的时候,也会报错。

  

管道流

fs.createReadStream

fs.createReadStream用于从文件流中读取数据

  

fs.createWriteStream

fs.createWriteStream用于向文件中写入内容。

其中的writerStream.end()标志文件末尾,监听的finish则是在所有数据都被写入时触发的事件。

利用createReadStream()和createWriteStream()可以实现一个管道流,读取一个文件的内容,并写入到另外一个文件中。

原文地址:https://www.cnblogs.com/yuyujuan/p/10599854.html