nodejs处理文件模块:fs —> var fs = require(‘fs’);
读取文件:readFileSync & readFile
- 读取文件路径为绝对;
- 读取结果需要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
- 写入文件路径为绝对;(路径不正确或路径非绝对路径,写入不生效)
- 写入成功后,原文件的内容会被重写。
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
- 路径为绝对路径;
- 被删除文件不会出现回收站;
fs.unlink('path',callback[function(){}]); //路径为绝对路径,回调函数
例:
var file = require('fs');function del(){ file.unlink('f:/node/new.txt',function (){console.log('success');});}del();
执行后,指定删除文件不会出现在回收站
******************************************************************************************************************
查看文件状态:stat
- 路径为绝对路径;
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详细说明,请查看官方文档: