一个关于node的fs模块读取文件的疑惑
      
      
      
    
    目的:读取output.txt文件中第10-14字节并打印.
存在ouput.txt 文件内容为 ABCDEFGHIJKLMNOP
示例程序为:
var fs=require(‘fs’); fs.open(__dirname+’/a.txt’,‘r’,function(err,fd){ if(err){throw err;} var buffer=new Buffer(5); var readBytes=0;
(function readIt(){
    fs.read(fd,buffer,readBytes,buffer.length-readBytes,10+readBytes,function(err,bytesRead){
        if(err){throw err;}
        readBytes+=bytesRead; 
        if(readBytes===buffer.length){
            console.log(buffer);
        }else{
            readIt();
        }
    });
})();
});
上代码运行正确,但请教各位,代码中 readBytes+=bytesRead; 语句,以及下面的if循环到底起到了什么作用,是否可以给分析下,谢谢.
      2 回复
    
    这不是一次性读取文件内容的,每次readIt()只读取了指定范围的内容,readBytes+=bytesRead是累计计算读取的内容大小,if else是判断是否读取完了
谢谢
 
    