node.js中的fs.read⽅法使⽤说明
⽅法说明:
根据指定的⽂件描述符fd来读取⽂件数据并写⼊buffer指向的缓冲区对象。相对于readFile提供了更底层的接⼝。
⼀般情况下不建议使⽤这种⽅式来读取⽂件,因为它要求你⼿动管理缓冲区和⽂件指针,尤其是在你不知道⽂件⼤⼩的时候,这将会是⼀件很⿇烦的事情。
语法:
复制代码代码如下:
由于该⽅法属于fs模块,使⽤前需要引⼊fs模块(var fs= require(“fs”) )
接收参数:
fs ⽂件描述符
buffer 缓冲区,数据将被写⼊。
offset buffer写⼊的偏移量
length (integer)指定⽂件读取字节数长度
js argumentsposition (integer)指定⽂件读取的起始位置,如果该项为null,将从当前⽂件指针的位置开始读取数据。
callback 回调传递了三个参数,err, bytesRead, buffer
· err 异常
· bytesRead:读取的字节数
· buffer:缓冲区对象
例⼦:
复制代码代码如下:
var fs = require('fs');
fs.open('' , 'r' , function (err,fd){
if(err){
<(err);
return;
}
var buf = new Buffer(8);
if(err){
console.log(err);
return;
}
console.log('bytesRead' +bytesRead);
console.log(buffer);
})
})
源码:
复制代码代码如下:
if (!util.isBuffer(buffer)) {
// legacy string interface (fd, length, position, encoding, callback)
var cb = arguments[4],
encoding = arguments[3];
assertEncoding(encoding);
position = arguments[2];
length = arguments[1];
buffer = new Buffer(length);
offset = 0;
callback = function(err, bytesRead) {
if (!cb) return;
var str = (bytesRead > 0) ? String(encoding, 0, bytesRead) : ''; (cb)(err, str, bytesRead);
};
}
function wrapper(err, bytesRead) {
/
/ Retain a reference to buffer so that it can't be GC'ed too soon.
callback && callback(err, bytesRead || 0, buffer);
}
};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论