fs.read(fd, buffer, offset, length, position, callback)
参数使用说明如下:
fd - 通过 fs.open() 方法返回的文件描述符。
buffer - 数据写入的缓冲区。
offset - 缓冲区写入的写入偏移量。
length - 要从文件中读取的字节数。
position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。
input.txt内容
1 123456789
1 var fs =require(‘fs‘); 2 var buf =new Buffer(8); 3 ?4 console.log("准备打开已存在的文件!"); 5 ?6 fs.open(‘./input.txt‘,‘r+‘,function(err,fd){ 7 ????if(err){ 8 ????????return console.error(err); 9 ????}10 ????console.log("文件打开成功");11 ????console.log("准备读取文件。");12 13 ????fs.read(fd,buf,2,buf.length-2,2,function(err,bytes){ ?//此处的2是针对input.txt的位置来说的14 ????????console.log(buf.length);15 ????????if(err){16 ????????????console.log(err);17 ????????}18 ????????console.log(bytes +" 字节被读取");19 ????????if(bytes>0){20 ????????????console.log(buf.slice(0,bytes+2).toString()); ?// 此处的0 是针对 缓冲区的位置来说的21 ????????}22 ????})23 24 ????fs.close(fd,function(err){25 ????????if(err){26 ????????????console.log(err);27 ????????}28 ????????console.log("文件关闭成功");29 ????})30 })
注意前面的两个空格
当 console.log(buf.slice(0,bytes+2).toString()); ?中的 0 取 2 时,结果是
本文练习来自 https://www.runoob.com/nodejs/nodejs-fs.html
Node.js 文件系统------------读取文件
原文地址:https://www.cnblogs.com/ycyweb/p/9277388.html