fs.writeFile
fs.writeFile(file, data[, options], callback)
- file:文件名或文件描述符
 - data:常用的主要是 string 和 buffer
 - callback(err)
 
当 file 是文件名时,则异步地写入数据到文件,如果文件已存在,则覆盖文件内容
当 file 是文件描述符时,其行为类似于直接调用 fs.write()(推荐)
const fs = require('fs')const data = Buffer.from('Hello, Node.js')fs.writeFile('./test.txt', data, err => {if (err) throw errconsole.log('文件已被保存')})
fs.write
fs.write 有两种重载
fs.write(fd, buffer[, offset[, length[, position]]], callback)- 参数含义和 fs.read 几乎相同
 
fs.write(fd, string[, position[, encoding]], callback)- 只能把字符串内容全部写入文件
 
两个的区别就是
- 使用 buffer 可以只将 buffer 中 
offset ~ length + offset的内容写入文件 - 使用字符串只能把字符串内容全部写入文件 ```javascript const fs = require(‘fs’); const util = require(‘util’)
 
const write = util.promisify(fs.write) const close = util.promisify(fs.close)
const fd = fs.openSync(‘./test.txt’, ‘w’)
const writeData = async (fd) => { const data1 = Buffer.from(‘Hello, Node.js\n’); const data2 = ‘Hello, Konsoue’;
await write(fd, data1) await write(fd, data2)
await close(fd) }
writeData(fd)
```Hello, Node.jsHello, Konsoue
fs.appendFile
fs.appendFile(path, data[, options], callback) :将数据追加到文件尾部,如果文件不存在则创建该文件
const fs = require('fs/promises');const data = Buffer.from('\nVery Good');fs.appendFile('./test.txt', data).then(res => console.log(res)).catch(err => console.log(err))
Hello, Node.jsHello, KonsoueVery Good
fs.createWriteStream
fs.createWriteStream(path[, options])用来创建一个可写的文件流,options 和 fs.createReadStream 几乎相同
options(比较常用的有)
- fd: 默认值 null,如果指定了 fd,则会忽略 path 参数,使用指定的文件描述符(不会再次触发 open 事件)
 - mode:默认值 0o666
 - autoClose: 默认值: true,当 
error或finish事件时,文件描述符会被自动地关闭 - start: 开始写入文件的位置,不设置默认覆盖
 
把一个可读流内容写到可写流非常简单
const fs = require('fs');fs.createReadStream('./test.txt').pipe(fs.createWriteStream('./copy.txt'));
