• file {string|Buffer|URL|integer} 文件名或文件描述符。
    • data {string|Buffer|TypedArray|DataView}
    • options {Object|string}
      • encoding {string|null} 默认值: 'utf8'
      • mode {integer} 默认值: 0o666
      • flag {string} 参见[文件系统 flag 的支持][support of file system flags]。 默认值: 'w'
    • callback {Function}
      • err {Error}

    file 是文件名时,则异步地写入数据到文件(如果文件已存在,则覆盖文件)。 data 可以是字符串或 buffer。

    file 是文件描述符时,则其行为类似于直接调用 fs.write()(建议使用)。 参见以下关于使用文件描述符的说明。

    如果 data 是 buffer,则 encoding 选项会被忽略。 如果 data 是普通的对象,则它必须具有自身的 toString 函数属性。

    1. const data = new Uint8Array(Buffer.from('Node.js 中文网'));
    2. fs.writeFile('文件.txt', data, (err) => {
    3. if (err) throw err;
    4. console.log('文件已被保存');
    5. });

    如果 options 是字符串,则它指定字符编码:

    1. fs.writeFile('文件.txt', 'Node.js 中文网', 'utf8', callback);

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