fs.writev(fd, buffers[, position], callback)
fd
<integer>buffers
<ArrayBufferView[]>position
<integer>callback
<Function>err
<Error>bytesWritten
<integer>buffers
<ArrayBufferView[]>
使用 writev()
将 ArrayBufferView
数组写入 fd
指定的文件。
position
是该数据应写入的文件开头的偏移量。
如果 typeof position !== 'number'
,则数据将写入当前位置。
回调将被赋予三个参数:err
、bytesWritten
和 buffers
。
bytesWritten
是从 buffers
写入的字节数。
如果这个方法是 util.promisify()
的,它返回具有 bytesWritten
和 buffers
属性的 Object
的 promise。
在同一个文件上多次使用 fs.writev()
而不等待回调是不安全的。
对于这种情况,请使用 fs.createWriteStream()
。
在 Linux 上,以追加模式打开文件时,位置写入不起作用。 内核会忽略位置参数,并始终将数据追加到文件末尾。
fd
<integer>buffers
<ArrayBufferView[]>position
<integer>callback
<Function>err
<Error>bytesWritten
<integer>buffers
<ArrayBufferView[]>
Write an array of ArrayBufferView
s to the file specified by fd
using
writev()
.
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.
The callback will be given three arguments: err
, bytesWritten
, and
buffers
. bytesWritten
is how many bytes were written from buffers
.
If this method is util.promisify()
ed, it returns a promise for an
Object
with bytesWritten
and buffers
properties.
It is unsafe to use fs.writev()
multiple times on the same file without
waiting for the callback. For this scenario, use fs.createWriteStream()
.
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.