在 Node.js 中,如何更改(覆盖)二进制文件中的字节而不添加字节

Dan*_*sen 4 javascript binary fs node.js

在 Node.js 中,如何更改(覆盖)二进制文件中的字节(以特定偏移量),而不在中间添加字节并更改其长度?

在 CI 中,只需执行类似 fopen() 的操作,使用“r+”、fseek() 到我想要更改的偏移量,然后使用 fwrite() 覆盖字节。Node.js 中的等价物是什么样子的?

Dan*_*sen 5

好吧,我发现其实这很简单^^

fs.open(filename, "r+", (err, fd) => {
    if(!err) {
        fs.write(
            fd, new Uint8Array([byte]), 0, 1, offset,
            (err, bw, buf) => {
                if(!err) {
                    // succesfully wrote byte to offset
                }
            }
        );
    }
});
Run Code Online (Sandbox Code Playgroud)