fd
{integer}buffer
{Buffer|TypedArray|DataView|string|Object}offset
{integer}length
{integer}position
{integer}callback
{Function}err
{Error}bytesWritten
{integer}buffer
{Buffer|TypedArray|DataView}
写入 buffer
到 fd
指定的文件。
如果 buffer
是普通的对象,则它必须具有自身的 toString
函数属性。
offset
决定 buffer 中要被写入的部位,length
是整数,指定要写入的字节数。
position
指定文件开头的偏移量(数据要被写入的位置)。
如果 typeof position !== 'number'
,则数据会被写入当前的位置。
参见 pwrite(2)。
回调有三个参数 (err, bytesWritten, buffer)
,其中 bytesWritten
指定从 buffer
中被写入的字节数。
如果调用此方法的 [util.promisify()
] 版本,则返回 Promise
(会传入具有 bytesWritten
和 buffer
属性的 Object
)。
不等待回调就对同一个文件多次使用 fs.write()
是不安全的。
对于这种情况,建议使用 [fs.createWriteStream()
]。
在 Linux 上,当以追加模式打开文件时,则写入时无法指定位置。 内核会忽略位置参数,并始终追加数据到文件的末尾。