fs.writev(fd, buffers[, position], callback)


使用 writev()ArrayBufferView 的数组写入 fd 指定的文件。

¥Write an array of ArrayBufferViews to the file specified by fd using writev().

position 是该数据应写入的文件开头的偏移量。如果 typeof position !== 'number',则数据将写入当前位置。

¥position is the offset from the beginning of the file where this data should be written. If typeof position !== 'number', the data will be written at the current position.

回调将被赋予三个参数:errbytesWrittenbuffersbytesWritten 是从 buffers 写入的字节数。

¥The callback will be given three arguments: err, bytesWritten, and buffers. bytesWritten is how many bytes were written from buffers.

如果这个方法是 util.promisify() 的,它返回具有 bytesWrittenbuffers 属性的 Object 的 promise。

¥If this method is util.promisify()ed, it returns a promise for an Object with bytesWritten and buffers properties.

在同一个文件上多次使用 fs.writev() 而不等待回调是不安全的。对于这种情况,请使用 fs.createWriteStream()

¥It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream().

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

¥On Linux, positional writes don't work when the file is opened in append mode. The kernel ignores the position argument and always appends the data to the end of the file.