专栏首页Super 前端Node 文件读写模式

Node 文件读写模式

在使用 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 文件权限777

    最近,在使用 pkg 对 vue 工程进行打包生成二进制可执行文件过程中,在传输生成的可执行文件中,在其他小伙伴电脑上无法运行,报错:

    奋飛
  • Git汇总--常见问题及延伸阅读

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • Git撤销&回滚操作

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • python爬虫系列之 requests实战:用 requests库下载网页和图片

    在上一节我们讲过,响应 Response的 content属性可以用来下载文件,但是我并没有讲怎么实现。

    渔父歌
  • 收集3:所有文件格式

    A 对象代码库文件 AAM Authorware shocked文件 AAS Authorware shocked包 ABF Adobe二进制屏幕字体 ...

    py3study
  • 10.1 C文件有关的基本知识

    (1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容时程序代码。

    C语言入门到精通
  • Tesseract:训练

    http://www.zmonster.me/2015/05/05/tesseract-training.html

    bear_fish
  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    C语言入门到精通
  • CTF解题技能之MISC基础

    杂项题目主要是以文件附件作为题目,但是给的文件不一定是有后缀名的,这就需要我们识别这些文件

    漏斗社区

扫码关注云+社区

领取腾讯云代金券