上一篇文章我们介绍了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)还有参数为 文件名 或 路径的时候,我写双引号 或 单引号,都没有问题!