fs write返回0字节写

时间:2015-11-18 03:35:57

标签: node.js buffer fs

所以我正在尝试将缓冲区写入文件。我正在使用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>。有谁知道这里会发生什么?其他一切似乎都在起作用,所以我真的不知道发生了什么。

1 个答案:

答案 0 :(得分:2)

&#39; fs.write&#39;函数有两种形式:

import httpget
s = httpget.GetWebSites()
s[0] = "http://www.baidu.com"
httpget.Test(s)

您的调用似乎与第一个表单匹配,并使用fs.write(fd, buffer, offset, length[, position], callback) fs.write(fd, data[, position[, encoding]], callback) 作为写入的长度。

如果您打算全部写入,可以尝试传递缓冲区的长度:

null