Nodejs filesystem.write位置似乎无法正常工作

时间:2016-06-10 09:52:14

标签: javascript node.js express filesystems

我有以下问题,这里是感兴趣的代码:

 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');,我仍然得到完全相同的东西。

1 个答案:

答案 0 :(得分:0)

如文档中所述:

  

在Linux上,当打开文件时,位置写入不起作用   追加模式。内核会始终忽略position参数   将数据附加到文件的末尾。