filehandle.write(string[, position[, encoding]])


  • string <string>
  • position <integer> | <null> 从文件开头开始偏移的位置,string 中的数据应写入该位置。如果 position 不是 number 类型,则数据将写入当前的位置。详情参见 POSIX pwrite(2) 文档。默认值: null
  • encoding <string> 预期的字符串编码。默认值: 'utf8'
  • 返回:<Promise>

string 写入文件。如果 string 不是字符串,承诺将被拒绝并返回一个错误。

🌐 Write string to the file. If string is not a string, the promise is rejected with an error.

这个 promise 是通过一个包含两个属性的对象来实现的:

🌐 The promise is fulfilled with an object containing two properties:

  • bytesWritten <integer> 写入的字节数
  • buffer <string> 对已写入的 string 的引用。

在同一个文件上多次使用 filehandle.write() 是不安全的,如果不等待 Promise 被解决(或被拒绝)。对于这种情况,请使用 filehandle.createWriteStream()

🌐 It is unsafe to use filehandle.write() multiple times on the same file without waiting for the promise to be fulfilled (or rejected). For this scenario, use filehandle.createWriteStream().

在 Linux 上,当文件以追加模式打开时,位置写入不起作用。内核会忽略位置参数,并始终将数据追加到文件末尾。

🌐 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.