fs文件系统
fs 文件系统
- 在Node通过fs模块来对系统中的文件进行操作,fs模块是node中已经继承好了,不需要在使用npm下载,直接引入即可
- 引入fs
var fs = require("fs");
- fs模块中的大部分操作都提供了两种方法,同步方法和异步方法
同步方法带sync
异步方法没有sync,都需要回调函数
- 写入文件
1.同步写入
2.异步写入
3.简单写入
4.流式写入
- 读取文件
1.同步读取
2.异步读取
3.简单读取
4.流式读取
- 方法
- 打开文件
fs.open(path, flags[, mode], callback) 异步
fs.openSync(path, flags[, mode]) 同步
- 读写文件
fs.write(fd, string[, position[, encoding]], callback)
fs.writeSync(fd, string[, position[, encoding]])
fs.read(fd, buffer, offset, length, position, callback)
fs.readSync(fd, buffer, offset, length, position)
- 关闭文件
fs.close(fd,callback)
fs.closeSync(fd);
- 简单文件读取和写入
fs.writeFile(file, data[, options], callback)
fs.writeFileSync(file, data[, options])
fs.readFile(path[, options], callback)
fs.readFileSync(path[, options])
- 流式文件读取和写入
- 流式读取和写入适用于一些比较大的文件
fs.createWriteStream(path[, options])
fs.createReadStream(path[, options])
path:
比如C:\Users\Believer\Desktop
// 在js中'\'是转义字符,所以使用绝对路径时,需要使用'\\'
fs.writeFileSync('C:\\Users\\Believer\\Desktop', 'It's so easy~')
// 或者使用'/'
fs.writeFileSync('C:/Users/Believer/Desktop', 'It's so easy~')
flags:
'a': 打开文件进行追加。 如果文件不存在,则创建该文件。
'ax': 类似于 'a' 但如果路径存在则失败。
'a+': 打开文件进行读取和追加。 如果文件不存在,则创建该文件。
'ax+': 类似于 'a+' 但如果路径存在则失败。
'as': 以同步模式打开文件进行追加。 如果文件不存在,则创建该文件。
'as+': 以同步模式打开文件进行读取和追加。 如果文件不存在,则创建该文件。
'r': 打开文件进行读取。 如果文件不存在,则会发生异常。
'r+': 打开文件进行读写。 如果文件不存在,则会发生异常。
'rs+': 以同步模式打开文件进行读写。 指示操作系统绕过本地文件系统缓存。
这主要用于在 NFS 挂载上打开文件,因为它允许跳过可能过时的本地缓存。 它对 I/O 性能有非常实际的影响,因此除非需要,否则不建议使用此标志。
这不会将 fs.open() 或 fsPromises.open() 变成同步阻塞调用。 如果需要同步操作,应该使用类似 fs.openSync() 的东西。
'w': 打开文件进行写入。 创建(如果它不存在)或截断(如果它存在)该文件。
'wx': 类似于 'w' 但如果路径存在则失败。
'w+': 打开文件进行读写。 创建(如果它不存在)或截断(如果它存在)该文件。
'wx+': 类似于 'w+' 但如果路径存在则失败。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)