与其他模块相同,首先引入fs文件操作模块,使用require引入。
node.js的文件操作与php类似,都是一些读,写,复制,删除等一些基本操作,但他比php要简单点,就三个参数a:追加;w:写入;r:读取,php除了有这第三种之外还有a+,w+等操作,较为复杂点。
文件操作分为两大块:文件的操作与文件夹的操作
一、文件的操作
1. 创建文件
flag对应的有三个参数:a追加 w写入 r读取
注意区分a与w的区别:
- a:是追加,在文件中添加新的东西不覆盖文件原有的东西;
- w:写入,添加新的内容覆盖文件中原有的内容;
两种方式创建文件
fs.writeFile("2.txt","我是2.txt文件",{flag:"a"},function (err) { if(err){ console.log(err); }else { console.log("写入成功"); }})fs.appendFile("2.txt","我是追加的字符",function(err){ if(err) { return console.log(err); }else{ console.log("追加成功"); }})
上面是异步创建,每个文件操作的函数都有异步和同步两种,所有同步的函数都是异步函数后面加Sync,这里以writeFileSync为例,说一下同步的函数写法,其他函数写法类似,就不一一细说了。
同步函数写法比异步简单,写入成功无返回值,不需要回调函数:
var res = fs.writeFileSync("1.txt","我是写入的内容333");
2. 文件的读取
使用readFile,第一个参数:文件名,第二个为回调函数,回调函数返回两个参数err,data
err:返回错误信息;data:返回文件内容
fs.readFile("1.txt",function(err,data){ if(err){ console.log(err); }else{ console.log(data.toString()); }})
3. 文件的修改
这里的文件修改不是对文件的内容经行修改,只是对文件名的修改,下面代码就是将『1.txt』的文件名修改成『2.txt』。
fs.rename("1.txt","5.txt",function(err){ if(err){ return console.log(err); }else{ console.log("修改成功"); }});
4. 文件删除
与php类似,使用unlink删除
fs.unlink("2.txt",function(err){ if(err){ return console.log(err); }else{ console.log("删除成功"); }});
5. 复制
node.js的文件操作没有特定的函数,不过我们可以自己写一个函数来复制文件
- 异步函数封装的复制函数
function mycopy(path1,path2) { fs.readFile(path1,function(err,data){ if(err){ console.log(err); }else{ var data1 = data.toString(); fs.writeFile(path2,data1,function(err){ if(err){ console.log(err); }else{ console.log("复制成功"); }
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。