本文翻译自How to write files using Node
2018年8月22日发布
在Node.js中写入文件的最简单方法是使用fs.writeFile()
API。
示例:
const fs = require('fs')
const content = 'Some content!'
fs.writeFile('/Users/flavio/test.txt', content, (err) => {
if (err) {
console.error(err)
return
}
//file written successfully
})
另外,您可以使用同步版本fs.writeFileSync()
:
const fs = require('fs')
const content = 'Some content!'
try {
const data = fs.writeFileSync('/Users/flavio/test.txt', content)
//file written successfully
} catch (err) {
console.error(err)
}
默认情况下,此API将替换文件的内容
(如果已经存在)。
您可以通过指定标志来修改默认值:
fs.writeFile('/Users/flavio/test.txt', content, { flag: 'a+' }, (err) => {})
您可能会使用的标志是
r+
打开文件进行读写w+
打开文件进行读写,将流放在文件的开头。 如果不存在则创建文件
打开一个文件进行写入,将流放在文件末尾。 如果不存在则创建文件a+
打开文件进行读写,将流放在文件末尾。 如果不存在则创建文件
(您可以在https://nodejs.org/api/fs.html#fs_file_system_flags中找到更多标志)将内容附加到文件末尾的便捷方法是fs.appendFile()
(及其对应的fs.appendFileSync()
):
const content = 'Some content!'
fs.appendFile('file.log', content, (err) => {
if (err) {
console.error(err)
return
}
//done!
})
所有这些方法都会在将控件返回到程序之前将全部内容写入文件(在异步版本中,这意味着执行回调)
在这种情况下,更好的选择是使用流写入文件内容。
下载我免费的Node.js手册
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有