Javascript 缓冲区的输出杂乱无章
现场如下: a、 js: 新东西 守则:Javascript 缓冲区的输出杂乱无章,javascript,node.js,Javascript,Node.js,现场如下: a、 js: 新东西 守则: var fs = require('fs'); var fileName = 'a.js'; fs.open(fileName, 'r', function (error, fd) { var buf = new Buffer(1024); fs.read(fd, buf, 0, buf.length, null, function (error, bytesRead, buffer) { console.log
var fs = require('fs');
var fileName = 'a.js';
fs.open(fileName, 'r', function (error, fd) {
var buf = new Buffer(1024);
fs.read(fd, buf, 0, buf.length, null, function (error, bytesRead, buffer) {
console.log(buffer.toString());
});
});
输出混乱
下面是我的问题:
您应该限制缓冲区打印的长度,如下所示
var buf = new Buffer(1024);
buffer.toString
方法上,如下所示
console.log(buffer.toString('utf-8' , 0 , bytesRead));
除了buffer.toString之外,您的代码似乎是正确的。有些事情仍在考虑之中。如果我只想输出这次读取的零件,并且偏移量不是零,由于偏移量不是回调的参数,我如何才能得到我感兴趣的部分。我认为偏移量是fs开始读取文件的指针,如果将偏移量筛选为其他值,它将从该行开始读取文件,并在callbackps.read中为您提供该部分的值(fd、缓冲区、偏移量、长度、位置、回调)。根据api,位置是开始读取我的文件的位置,偏移量是写入缓冲区的位置。是的,你是对的,我也检查了为偏移量设置不同的值,但它不起作用。只有空值和0起作用,让我检查fs的源,我会在得到一些信息时更新你