Node.js后端开发 - 基础篇 #7 创建和删除文件、目录

315 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ​

 上一篇文章我们介绍了nodejs的读写文件(同步,异步),如:如何读取一个文件,然后怎么把读取的内容写入到另一个文件中,就是读写文件。详见: Node.js后端开发 - 基础篇 #6 读写文件(同步,异步),其实在官方文档中已经列出了所有文件系统的一些方法,我们上篇文章讲到的方法也可以查到。 这篇文章我们将介绍nodejs的创建和删除文件、目录,其实文件系统有许多许多的方法,我们不可能全部去讲一遍,所以说讲到几个,我们就要学会懂得怎么去举一反三,然后更多方法我们应该去看文档,然后进行学习。好了废话少说,我们来开始编码!

1、删除文件

var fs = require('fs');

//unlink也是异步方法,异步方法一般都有回调函数
fs.unlink("writeMe.txt",function(params) {
    console.log("delete writeMe.txt file");
});

//上面是异步的方法,如果是同步的方法后面加Sync
//参数直接写文件名,也不用加回调函数,这里就不演示了!
//fs.unlinkSync

我们来看看输出结果:

MacBook-Pro:hello-nodejs luminal$ node app
delete writeMe.txt file
MacBook-Pro:hello-nodejs luminal$ 

你会发现"writeMe.txt"文件被删除调了!

注意:这里讲的是怎么删除文件file,上篇文章写入内容到文件,如果没有此文件,会自动创建文件!!!

2、创建、删除目录

var fs = require('fs');

//异步方法:
//当前目录创建目录
//fs.mkdirSync('temp');
//删除指定目录temp
//fs.rmdirSync('temp');

//同步方法:
//创建目录temp,同时把 readMe.txt 文件的内容,
//写入到 ./temp/writeMe.txt 文件中
//注:temp目录下没有 writeMe.txt 文件,写入内容的时候它会自动创建 
fs.mkdir('temp',function() {
    fs.readFile('readMe.txt', 'utf-8', function (err,data) {
        fs.writeFile('./temp/writeMe.txt',data, function () {
            console.log('拷贝成功!!!');
        });
    });
});

我们来看看输出结果:

MacBook-Pro:hello-nodejs luminal$ node app
拷贝成功!!!
MacBook-Pro:hello-nodejs luminal$ 

 顺便我们看下效果图,如下图:

​编辑

如上代码,如果操作很多的话,那么这个嵌套就会很深,就会发生地域回调,写起来就会很难看,确实嵌套很深,以后我们会讲到一种方法来解决这种地域回调的问题,这里先了解!

注:

(1)另外需要注意的是创建一般是 “mk” 前缀开头,删除一般以 “rm” 前缀为开头

(2)还有参数为 文件名 或 路径的时候,我写双引号 或 单引号,都没有问题!