fs write returns 写入了 0 个字节
fs write returns 0 bytes written
所以我正在尝试将缓冲区写入文件。我正在使用 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(written)
打印出 0
,即使 console.log(buffer)
打印出 <Buffer 68 65 6c 6c 6f 0a 0a 63 68 61 6e 67 65 0a>
。有谁知道这里会发生什么?其他一切似乎都在工作,所以我真的不知道发生了什么。
'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) {
所以我正在尝试将缓冲区写入文件。我正在使用 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(written)
打印出 0
,即使 console.log(buffer)
打印出 <Buffer 68 65 6c 6c 6f 0a 0a 63 68 61 6e 67 65 0a>
。有谁知道这里会发生什么?其他一切似乎都在工作,所以我真的不知道发生了什么。
'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) {