我有一个大小为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
不是一个选项,因为在某些情况下我想写到文件的中间。
答案 0 :(得分:1)
您想要的是随机访问IO(在文件中的特定点读取或写入)。
默认API中未提供,但您可以使用https://www.npmjs.org/package/random-access-file等附加包
答案 1 :(得分:-1)
来自docs:
'w +' - 打开文件进行读写。创建文件(如果它不存在)或截断(如果存在)
“truncated”表示文件在打开后变为空。
您需要一种不同的模式,例如r+
。根据文档,a
也可能有用,但不适用于Linux。