fs.writev(fd, buffers[, position], callback)
-
fd<integer> -
buffers<ArrayBufferView[]> -
callback<Function>-
err<Error> -
bytesWritten<integer> -
buffers<ArrayBufferView[]>
-
使用 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.
回调将被赋予三个参数:err、bytesWritten 和 buffers。bytesWritten 是从 buffers 写入的字节数。
¥The callback will be given three arguments: err, bytesWritten, and
buffers. bytesWritten is how many bytes were written from buffers.
如果这个方法是 util.promisify() 的,它返回具有 bytesWritten 和 buffers 属性的 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.