读写文件
读写文件用 fs.readFile / writeFile(整文件读写),追加内容用 fs.appendFile。第二个参数传 'utf8' 拿到字符串,不传拿到 Buffer(适合二进制文件)。
writeFile 默认会覆盖原文件,传 {flag: 'a'} 可改为追加。读写大文件不要用 readFile(一次性全读进内存),改用后面会讲的 stream 流。
- readFile('utf8') 得到字符串,省略编码得到 Buffer 二进制
- writeFile 默认覆盖;{flag:"a"} 追加;目录不存在要先 mkdir
- 写文件前建议 fs.mkdir(dirname, {recursive: true}) 保证目录存在
const fs = require('fs'); const fsp = require('fs').promises; // 写入(默认覆盖) fsp.writeFile('./tmp/log.txt', '第一行\n') .then(() => console.log('写入成功')); // 追加:flag: 'a' fsp.appendFile('./tmp/log.txt', '第二行\n').catch(console.error); // 读 JSON 配置的标准姿势 async function loadConfig(file) { try { const raw = await fsp.readFile(file, 'utf8'); return JSON.parse(raw); } catch (err) { if (err.code === 'ENOENT') return {}; // 文件不存在返回默认值 throw err; } } loadConfig('./tmp/config.json').then(cfg => console.log(cfg));




