所以我正在尝试向文件写入缓冲区。我正在使用fs.write
来实现它,但事情正在恶化。
fs.write(info.fd, myBuffer, null, null, function(err, written, buffer) {
if (err) {console.log(err);}
console.log(written);
console.log(buffer);
fs.close(info.fd, function(err) {
if (err) {console.log(err);}
});
});
因此,即使console.log(buffer)
打印<Buffer 68 65 6c 6c 6f 0a 0a 63 68 61 6e 67 65 0a>
,console.log(written)
也打印出0
。有人知道这里会发生什么吗?其他一切似乎都在起作用,所以我真的不知道发生了什么。
"fs.write"函数有两种形式:
fs.write(fd, buffer, offset, length[, position], callback)
fs.write(fd, data[, position[, encoding]], callback)
您的调用似乎与第一个表单匹配,并使用null
作为写入长度。
如果你打算全部写入,你可以尝试传递缓冲区的长度:
fs.write(info.fd, myBuffer, 0, myBuffer.length, function(err, written, buffer) {