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 == 1 或 stdout),则无论使用何种编码,包含非 ASCII 字符的字符串默认情况下都不会被正确地渲染。
通过使用 chcp 65001 命令更改活动的代码页,可以将控制台配置为正确地渲染 UTF-8。
详见 [chcp] 文档。
