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 ArrayBufferView
s 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.