Node.js fs 模块(下)
写入文件
writeFile / writeFileSync
js
const fs = require('node:fs')
// 同步写入(不存在则创建,存在则覆盖)
fs.writeFileSync('index.txt', 'hello world')
// 通过 flag 控制行为
fs.writeFileSync('index.txt', '追加内容', { flag: 'a' })writeFileSync(文件路径, 内容, { encoding, mode, flag })
appendFile / appendFileSync — 追加内容
js
// 等同于 writeFileSync + flag: 'a'
fs.appendFileSync('index.txt', '\n新的一行')createWriteStream — 可写流(大数据量)
适合处理大量数据写入,流式写入边写边释放:
js
const writeStream = fs.createWriteStream('output.txt')
dataList.forEach(item => writeStream.write(item + '\n'))
writeStream.end() // 关闭可写流
writeStream.on('finish', () => console.log('写入完成'))硬链接 vs 软链接
js
fs.linkSync('./source.txt', './hard.txt') // 硬链接
fs.symlinkSync('./source.txt', './soft.txt', 'file') // 软链接(符号链接)| 硬链接 (hard link) | 软链接 (symlink) | |
|---|---|---|
| 本质 | 多个文件名指向同一 inode | 指向目标路径的快捷方式 |
| 跨分区 | 不可以 | 可以 |
| 目录 | 不可以 | 可以 |
| 源文件删除后 | 数据仍然存在 | 链接失效(断链) |
| 用途 | 文件共享、备份、不复制改名 | 快捷方式、解决路径变化 |
简单理解:硬链接是同一个文件的不同名字,软链接是快捷方式。