如何使用Node写入文件

本文翻译自How to write files using Node

如何使用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手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值