filehandle.write(buffer[, offset[, length[, position]]])
buffer
<Buffer> | <TypedArray> | <DataView>offset
<integer> 要开始写入数据的buffer
的起始位置。 默认值:0
length
<integer> 要从buffer
写入的字节数。 默认值:buffer.byteLength - offset
position
<integer> 要写入来自buffer
的数据的文件的开头偏移量。 如果position
不是number
,则数据将被写入当前位置。 有关更多详细信息,请参阅 POSIXpwrite(2)
文档。- 返回: <Promise>
将 buffer
写入文件。
使用包含以下两个属性的对象来解决 promise:
bytesWritten
<integer> 写入的字节数buffer
<Buffer> | <TypedArray> | <DataView> 对被写入的buffer
的引用。
在同一文件上多次使用 filehandle.write()
而不等待 promise 被解决(或拒绝)是不安全的。
对于这种情况,请使用 fs.createWriteStream()
。
在 Linux 上,以追加模式打开文件时,位置写入不起作用。 内核会忽略位置参数,并始终将数据追加到文件末尾。
buffer
<Buffer> | <TypedArray> | <DataView>offset
<integer> The start position from withinbuffer
where the data to write begins. Default:0
length
<integer> The number of bytes frombuffer
to write. Default:buffer.byteLength - offset
position
<integer> The offset from the beginning of the file where the data frombuffer
should be written. Ifposition
is not anumber
, the data will be written at the current position. See the POSIXpwrite(2)
documentation for more detail.- Returns: <Promise>
Write buffer
to the file.
The promise is resolved with an object containing two properties:
bytesWritten
<integer> the number of bytes writtenbuffer
<Buffer> | <TypedArray> | <DataView> a reference to thebuffer
written.
It is unsafe to use filehandle.write()
multiple times on the same file
without waiting for the promise to be resolved (or rejected). For this
scenario, use fs.createWriteStream()
.
On Linux, positional writes do not 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.