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',数据将会写入当前位置。

回调函数将接受三个参数: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.】