node.js /将缓冲区写入文件

时间:2014-06-17 11:45:29

标签: javascript node.js

我有一个大小为108字节的文件。

我想在此文件中添加一些文本(缓冲区),比如说"Hello world"

所以我写了下一篇:

fs.open("./tryit.txt", 'w+', function (err, fd1) {
    var buffer = new Buffer("hello world");
    fs.write(fd1, buffer, 0, 11, 109, function (err, bytesWrite, buffer) {
        })
})

为了从109的位置写入文件。

我看到它写了它,但在hello world之前,文件的所有文本都被NUL字符替换。

我该怎么办? append不是一个选项,因为在某些情况下我想写到文件的中间。

2 个答案:

答案 0 :(得分:1)

您想要的是随机访问IO(在文件中的特定点读取或写入)。

默认API中未提供,但您可以使用https://www.npmjs.org/package/random-access-file等附加包

答案 1 :(得分:-1)

来自docs:

  

'w +' - 打开文件进行读写。创建文件(如果它不存在)或截断(如果存在)

“truncated”表示文件在打开后变为空。

您需要一种不同的模式,例如r+。根据文档,a也可能有用,但不适用于Linux。