和前⾯的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()可以实现⼀个管道流,读取⼀个⽂件的内容,并写⼊到另外⼀个⽂件中。
因篇幅问题不能全部显示,请点此查看更多更全内容