从零开始学Node.js(五):Node.js中的fs模块
fs模块常用功能
fs模块主要用于文件操作,属于Node.js中的内置模块。主要围绕fs的八个常用操作进行简单介绍。使用之前记得要引入该模块const fs=require('fs');
-
fs.stat:检测是文件还是目录
fs.stat('./html',(err,data)=>{ if(err){ console.log(err); return; } console.log('是目录?'+data.isFile()); console.log('是文件?'+data.isDirectory()); })
-
fs.mkdir:创建目录
fs.mkdir('./css',(err)=>{ if(err){ console.log(err); return; } console.log('创建成功'); })
-
fs.writeFile:创建写入文件
//如果文件存在,那么会替换该文件。目录如果存在,则会报错。 fs.writeFile('./html/index.html','hello',(err)=>{ if(err){ console.log(err); return; } console.log('写入文件成功'); })
-
fs.appendFile:追加文件
//不存在该文件的话会自动创建 fs.appendFile('./css/base.css','body{color:red}',(err)=>{ if(err){ console.log(err); return; } console.log('appendfile 成功'); })
-
fs.readFile:读取文件
fs.readFile('./html/index.html',(err,data)=>{ if(err){ console.log(err); return; } //16进制的buffer,需要转化成string console.log(data); //转化成String类型 console.log(data.toString()); })
-
fs.readdir:读取目录
fs.readdir('./html',(err,data)=>{ if(err){ console.log(err); return; } //[ 'data', 'index.html', 'news.html' ] //data是个文件夹 console.log(data); })
-
fs.rename:重命名
//重命名 将css目录下的aaa.css重命名为index.css fs.rename('./css/aaa,css','./css/index.css',(err)=>{ if(err){ console.log(err);return; } console.log('重命名成功'); }) //移动文件 fs.rename('./css/index.css','./html/index.css',(err)=>{ if(err){ console.log(err);return; } console.log('移动文件成功'); })
-
fs.rmdir:删除目录
//在项目路径下新建一个bbb空目录,然后删除 //注意如果要删除的目录下面存在其他文件,是无法删除的,必须要把其他文件删除之后才能删除该目录 fs.rmdir('./bbb',(err)=>{ if(err){ console.log(err);return; } console.log('删除目录成功'); })
-
fs.unlink:删除文件
//现在在bbb目录下面创建一个index.html文件,然后将他删除 fs.unlink('./bbb/index.html',(err)=>{ if(err){ console.log(err);return; } console.log('删除文件成功'); })
实战演练
练习一
要求:判断服务器上面有没有upload目录,如果没有那么创建目录,如果有则不做操作。
练习二
要求:wwwroot文件下有images css js以及index.html,找出wwwroot目录下面所有的目录,然后放到一个数组中。