我有以下问题,这里是感兴趣的代码:
var fs = require('fs');
var fd = fs.openSync('path to file', 'a+');
var buffer = new Buffer('Hello Text');
fs.writeSync(fd, buffer, 0, buffer.length, 42)
fs.close(fd);
至于官方文档告诉我这是应该如何调用该函数:https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position
就常识和无数尝试告诉我位置“42”或我选择放置在那里的任何位置意味着我的writeSync
应该开始写在第42位。然而,无一例外,它开始写正好在文件末尾的换行符。
我甚至尝试使用“遗留”函数fs.writeSync(fd, 'hello string', 42, 'utf-8');
,我仍然得到完全相同的东西。
答案 0 :(得分:0)
如文档中所述:
在Linux上,当打开文件时,位置写入不起作用 追加模式。内核会始终忽略position参数 将数据附加到文件的末尾。