源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

node.js中的fs.read方法使用说明

  • 时间:2021-04-30 13:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js中的fs.read方法使用说明
[b]方法说明: [/b] 根据指定的文件描述符fd来读取文件数据并写入buffer指向的缓冲区对象。相对于readFile提供了更底层的接口。 一般情况下不建议使用这种方式来读取文件,因为它要求你手动管理缓冲区和文件指针,尤其是在 你不知道文件大小的时候,这将会是一件很麻烦的事情。 [b]语法:[/b]
[u]复制代码[/u] 代码如下:
fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) [b]接收参数:[/b] fs             文件描述符 buffer      缓冲区,数据将被写入。 offset      buffer写入的偏移量 length     (integer)   指定文件读取字节数长度 position   (integer)   指定文件读取的起始位置,如果该项为null,将从当前文件指针的位置开始读取数据。 callback      回调传递了三个参数,err, bytesRead, buffer · err  异常 · bytesRead:读取的字节数 · buffer:缓冲区对象 [b]例子:[/b]
[u]复制代码[/u] 代码如下:
var fs = require('fs'); fs.open('123.txt' , 'r' , function (err,fd){  if(err){   console.error(err);   return;  }    var buf = new Buffer(8);  fs.read(fd, buf, 0, 8, null, function(err,bytesRead, buffer){   if(err){    console.log(err);    return;   }   console.log('bytesRead' +bytesRead);   console.log(buffer);  }) })
[b]源码:[/b]
[u]复制代码[/u] 代码如下:
fs.read = function(fd, buffer, offset, length, position, callback) {   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) ? buffer.toString(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);   }   binding.read(fd, buffer, offset, length, position, wrapper); };
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部