fs模块
fs模块所有方法都要先导入fs!
一、文件写入
将数据保存到文件中。
1.writeFile(异步写入)
2.writeFileSync同步写入
同步处理:JavaScript主线程会等待其他线程的执行结果,然后再继续执行主线程的代码,效率较低。
异步处理:JavaScript主线程不会等待其他线程的执行结果,直接执行主线程的代码,效率较高。
3.appendFile异步追加写入
在文件尾部追加内容,语法与writeFile相同。
3.appendFileSync同步追加写入
语法同writeFileSync
4.writeFile实现追加写入
5.createWriteStream 流式写入
流式写入可以减少打开关闭文件的次数,适用于大文件写入或者频繁写入的场景,writeFile适用于写入频率较低的场景。
当需要持久化保存数据的时候,应该想到文件写入。
二、文件读取
1.readFile异步读取
2.readFileSync同步读取
3.createReadStream流式读取
三、文件移动与重命名
四、文件复制
1.readFile方法
2.流式操作(推荐 占用资源更少)
五、文件删除
1.运用unlink(unlinkSync)方法
2.运用rm(rmSync)方法
六、文件夹操作
1.mkdir创建文件夹
2.readdir读取文件夹
3.rmdir删除文件夹
七、查看资源状态--stat方法
八、相对路径问题
fs模块对资源进行操作是,路径的写法有两种:
相对路径
./座右铭.txt 当前目录下的 座右铭.txt
座右铭.txt 等效于上面的写法
../座右铭.txt 当前目录的上一级目录中的 座右铭.txt
绝对路径
D:/Program Files Windows 系统下的绝对路径
/user/bin Linux 系统下的绝对路径
相对路径的参照物:命令行的工作路径,不是文件所在的目录路径
所以当明航的工具与文件的目录不一致时,会出现bug,解决办法:使用__dirname
__dirname:绝对路径全局变量,保存的是资源所在目录的绝对路径
使用 fs 模块的时候,尽量使用 __dirname
路径转换为绝对路径,这样可以避免相对路径产生的Bug。
九、文件重命名示例