read、write、close都没有什么好说的,基本上也玩不出花样,重点在于
open,根据打开的方式不同,有不同的效果。
![](https://box.kancloud.cn/e322011ef92259f93aec2fbfa5af58ef_728x494.png)
* 以“r”打开,可以完成只读操作
* 以“w”打开,可以完成只写操作
* 以“a”打开,可以完成追加操作
* 以“r+”、“w+”、“a+”打开,可以完成读写操作
#### readFile的实现:
~~~
var fs = require("fs");
function readfile(filename,callback){
var err;
var data = new Buffer(256);
fs.open(filename,"r",function(err,fd){
if(err){
return console.error(err);
}
fs.read(fd,data,0,data.length,0,function(err,bytesRead,buffer){
if(err){
return console.error(err);
}
fs.close(fd,function(err){
if(err){
return console.error(err);
}
if(bytesRead > 0){
callback(err,data.slice(0,bytesRead));
}
});
});
});
}
exports.readfile = readfile;
~~~
#### writeFile的实现:
~~~
fs.open(filename,"w",function(err,fd){});
~~~
#### appendFile的实现:
~~~
fs.open(filename,"a",function(err,fd){});
~~~
还有更多的高级函数实现,需要你自己去发掘。