从零学习node.js之文件操作(三)

2020-06-17 06:49:51易采站长站整理

if( stats.isFile() ){
fs.unlinkSync(path);
console.log( '删除成功: '+path );
}else if( stats.isDirectory() ){
// 若当前路径是文件夹,则获取路径下所有的信息,并循环
var files = fs.readdirSync(path);

for(var i=0, len=files.length; i<len; i++){
var item = files[i],
itempath = getLastCode(path)=='/' ? path+item : path+'/'+item; // 拼接路径
var st = fs.statSync(itempath);
if( st.isFile() ){
fs.unlinkSync(itempath);
console.log( '删除成功: '+itempath );
}else if( st.isDirectory() ){
// 当前是文件夹,则递归检索
rmDirAll( itempath );
}
}
// 现在可以删除文件夹
fs.rmdir(path);
console.log( '删除成功: '+path );
}
}
rmDirAll('./img');

则删除时输出的信息如下,先把内部的文件和文件夹删除干净,最后删除 ‘./img’:


删除成功: ./img/1484234634801.png
删除成功: ./img/1484234660592.png
删除成功: ./img/gggg/est.txt
删除成功: ./img/gggg
删除成功: ./img/test.png
删除成功: ./img

当然,你也可以试着实现这样的程序:

删除path内部所有的内容,同时能保留下path目录
只删除文件,将所有的空文件夹保留下来
将内部所有的文件都移动到path的根目录下,并删除空文件夹

等等,都可以试着实现一下。

总结

以上就是这篇文章的全部内容了,其实文件系统里也有很多的内容需要学习,这里只是抛砖引玉,希望通过自己一点的微薄知识,能为大家指点迷津。小编还会继续分享关于node入门学习的文章,感兴趣的朋友们请继续关注软件开发网。