• fd {integer}
    • string {string|Object}
    • position {integer}
    • encoding {string} 默认值: 'utf8'
    • callback {Function}
      • err {Error}
      • written {integer}
      • string {string}

    string 写入到 fd 指定的文件。 如果 string 不是字符串或具有自有 toString 函数属性的对象,则抛出异常。

    position 指定文件开头的偏移量(数据要被写入的位置)。 如果 typeof position !== 'number',则数据会被写入当前的位置。 参见 pwrite(2)。

    encoding 是期望的字符串编码。

    回调会接收到参数 (err, written, string),其中 written 指定传入的字符串中被要求写入的字节数。 被写入的字节数不一定与被写入的字符串字符数相同。 参见 [Buffer.byteLength]。

    不等待回调就对同一个文件多次使用 fs.write() 是不安全的。 对于这种情况,建议使用 [fs.createWriteStream()]。

    在 Linux 上,当以追加模式打开文件时,则写入时无法指定位置。 内核会忽略位置参数,并始终追加数据到文件的末尾。

    在 Windows 上,如果文件描述符连接到控制台(例如 fd == 1stdout),则无论使用何种编码,包含非 ASCII 字符的字符串默认情况下都不会被正确地渲染。 通过使用 chcp 65001 命令更改活动的代码页,可以将控制台配置为正确地渲染 UTF-8。 详见 [chcp] 文档。