前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node 文件读写模式

Node 文件读写模式

作者头像
奋飛
发布2020-05-28 17:04:34
6050
发布2020-05-28 17:04:34
举报
文章被收录于专栏:Super 前端Super 前端Super 前端

在使用 Nodejs 做一些脚手架、以及中间服务时,经常会遇到读写文件操作。对于文件内容的更新,我们往往选择"先删除文件,然后再创建文件",复杂且对于文件操作不存在事务特性!

fs.unlink(filePath, err => {})
fs.writeFile(file, data, err => {})

事实上,对于文件具有不同的打开行为,通过打开行为的不同,我们可以实现不同的效果。如:

  • 创建或替换原文件
  • 对已有的原文件进行替换
  • 对已有的原文件追加内容
  • 对已有的原文件从文件开始处覆盖内容
fs.writeFile(file, data[, options], callback)

options <Object> | <string>

  • encoding <Object> | <string> 设置文件编码,默认值: 'utf8'
  • mode <integer> 设置文件模式(权限), 默认值: 0o666
  • flag <string> 文件打开的行为,默认值: 'w'

示例

test.txt 文件初始内容为 123 fs.writeFile('test.txt', 'a', { flag: `${flag}` }, () => { console.log('success') })

Flag

描述

test.txt 内容

r

打开文件用于读取。如果文件不存在,则出现异常

‘123’(不变)

r+

打开文件用于读取和写入。如果文件不存在,则出现异常

‘a23’

rs+

以同步模式打开文件用于读取和写入。指示操作系统绕过本地的文件系统缓存(性能有影响)

‘a23’

w

打开文件用于写入。如果文件不存在则创建文件,如果文件已存在则截断文件

‘a’

wx

与 'w' 相似,但如果路径已存在则失败

‘123’(不变)

w+

打开文件用于读取和写入。如果文件不存在则创建文件,如果文件已存在则截断文件

a

wx+

与 'w+' 相似(读取和写入),但如果路径已存在则失败

‘123’(不变)

a

打开文件用于追加。如果文件不存在,则创建该文件

‘123a’

ax

与 'a' 相似,但如果路径已存在则失败

‘123’(不变)

a+

打开文件用于读取和追加。如果文件不存在,则创建该文件

‘123a’

ax+

与 'a+' 相似(读取和追加),但如果路径已存在则失败

‘123’(不变)

as

以同步模式打开文件用于追加。如果文件不存在,则创建该文件

‘123a’

as+

以同步模式打开文件用于读取和追加。如果文件不存在,则创建该文件

‘123a’

在这里插入图片描述
在这里插入图片描述

参考地址

  • http://nodejs.cn/api/fs.html#fs_file_system_flag
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例
  • 参考地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档