[聚合文章] node.js之文件操作

JavaScript 2017-06-20 16 阅读

与其他模块相同,首先引入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的文件操作没有特定的函数,不过我们可以自己写一个函数来复制文件

  1. 异步函数封装的复制函数
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("复制成功");                }
                

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。