学海无涯,回头是岸
不务正业
极简老人

nodejs处理文件模块:fs  —>  var fs = require(‘fs’);

 

读取文件:readFileSync & readFile

  1. 读取文件路径为绝对;
  2. 读取结果需要toString();

readFileSync:

  • 同步读取文件,既文件未读取完(或读取异常),程序会阻塞在readFileSync不会继续往下执行。

fs.readFileSync('path'); //路径为绝对路径

例:

var file = require('fs');

function file_parse(){
    var str = file.readFileSync('f:/node/content.txt');//获取文件流
    console.log(str.toString());
    console.log('文件读取完毕');
}
file_parse();

执行结果:

readFile:

  • 同步读取文件,代码不会被阻塞(不会因文件读取时间长,或读取异常而影响后续代码的执行)。

fs.readFile('path',callback[function (){}]); //路径为绝对路径,毁掉函数

例:

var file = require('fs');

function file_parse(){
    var str = file.readFile('f:/node/content.txt',function(err,data){
        if(err) {return console.error(err);}
        console.log(data.toString());
    }); 
    //err异常信息;data读取文件流
    console.log('继续执行......');
}
file_parse();

执行结果:

******************************************************************************************************************

写入文件:writeFile

  1. 写入文件路径为绝对;(路径不正确或路径非绝对路径,写入不生效)
  2. 写入成功后,原文件的内容会被重写。

writeFile:

  • 非同步写入文件,代码不会被阻塞。

fs.writeFile('path','content','charset',callback[function (){}]); //路径为绝对路径,写入内容,编码格式(可选),回调函数

例:

var file = require('fs');
function file_write(){
    file.writeFile('F:/node/content.txt','这是写入内容','UTF-8',function (err){
        if(err){ console.error(err); }
        console.log('继续执行......');
    });
}
file_write();

无论是否写入成功(只要没出现异常),callback的内容都会被执行。

******************************************************************************************************************

删除文件:unlink

  1. 路径为绝对路径;
  2. 被删除文件不会出现回收站;

fs.unlink('path',callback[function(){}]); //路径为绝对路径,回调函数

例:

var file = require('fs');
function del(){
    file.unlink('f:/node/new.txt',function (){console.log('success');});
}
del();

执行后,指定删除文件不会出现在回收站

******************************************************************************************************************

查看文件状态:stat

  1. 路径为绝对路径;

fs.stat('path',callback[function(err,stat){}]); //路径为绝对路径,回调函数(异常信息,文件信息)

例:

var file = require('fs');
function stat_file(){
    file.stat('f:/node/content.txt',function (err,data){
        if(err){ console.error(err); }
        else{ console.log(data); }
    });
}
stat_file();

执行结果:

 

以上收集的一些常用方法,关于fs详细说明,请查看官方文档:官方文档

posted on 2016-07-14 16:47  MirageFireFox  阅读(208)  评论(0编辑  收藏  举报