文件系统
var fs = require('fs');
//input.txt内容ABC
//异步读取
fs.readFile('input.txt',function(err,data){ //回调函数,有点奇葩,data在第二个参数
if(err){
return console.error(err);
}
console.log('异步读取' + data.toString());
});
//同步读取
var data = fs.readFileSync('input.txt'); //同步的时侯fs.readFileSync(input.txt).toString()方法调出data里面的数据
console.log('同步读取' + data.toString());
console.log('程序执行完毕')
//结果:
同步读取: ABC
程序执行完毕。
异步读取: ABC
推荐异步读取,性能更高,速度更快,没有阻塞
打开文件
fs.open(path,flags,mode,callback)
path:文件路径
flags:解读:
r:读取模式,文件不存在抛出异常
r+:读写模式,文件不存在抛出异常
rs:同步读取文件
fs+:同步读写文件
w:写入模式打开文件,文件不存在则创建(真任性)
wx:与x同,但是如果文件存在,则会写入失败
w+:读写打开文件,文件不催在则创建
wx+:类似w+,文件存在,则读写失败
a:追加模式,文件不存在则创建
ax:如果文件存在,文件追加失败
a+:以读取加追加模式打开文件,文件不在则创建
ax+:如果文件存在则追加失败
mode:设置文件模式(权限),文件创建默认权限为0666(可读可写)
var fs = require('fs');
//异步打开文件
console.log('准备打开文件!');
fs.open('input.txt','r+',function(err,fd){
if(err){
return console.error(err);
}
console.log('文件打开成功!');
});
获取文件信息
//fs.stat(path,callback)
var fs = require('fs');
fs.stas('example.js',function(err,stas){
console.log(stats.isFile()); //true
console.log(stas); //{ dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 40333161,
size: 61,
blocks: 8,
atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
})
还有很多类似isFile()的函数,可以查查文档
待更新...