• fd {integer}
    • buffer {Buffer|TypedArray|DataView|string|Object}
    • offset {integer}
    • length {integer}
    • position {integer}
    • callback {Function}
      • err {Error}
      • bytesWritten {integer}
      • buffer {Buffer|TypedArray|DataView}

    写入 bufferfd 指定的文件。 如果 buffer 是普通的对象,则它必须具有自身的 toString 函数属性。

    offset 决定 buffer 中要被写入的部位,length 是整数,指定要写入的字节数。

    position 指定文件开头的偏移量(数据要被写入的位置)。 如果 typeof position !== 'number',则数据会被写入当前的位置。 参见 pwrite(2)。

    回调有三个参数 (err, bytesWritten, buffer),其中 bytesWritten 指定从 buffer 中被写入的字节数。

    如果调用此方法的 [util.promisify()] 版本,则返回 Promise(会传入具有 bytesWrittenbuffer 属性的 Object)。

    不等待回调就对同一个文件多次使用 fs.write() 是不安全的。 对于这种情况,建议使用 [fs.createWriteStream()]。

    在 Linux 上,当以追加模式打开文件时,则写入时无法指定位置。 内核会忽略位置参数,并始终追加数据到文件的末尾。