node中的内置模块fs
fs文件系统操作模块
注:fs 模块=>包括文件目录的创建、删除、查询以及文件的读取、写入等;
在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法
文件
-
读文件 异步 fs.readFile(路径,转码规则,(err,data)=>{})
-
同步 let res = fs.readFileSync(路径,转码规则)
-
写文件 异步 fs.writeFile(路径,你要写的内容,(err)=>{}) 覆盖式写入
-
同步 fs.writeFileSync(路径,你要写的内容) 覆盖式写入
-
写文件 异步 fs.appendFile(路径,你要写的内容,(err)=>{}) 追加式写入
-
同步 fs.appendFileSync(路径,你要写的内容) 追加式写入
-
删除 异步 fs.unlink(路径,(err)=>{})
-
同步 fs.unlinkSync(路径)
-
拷贝文件 异步 fs.copyFile(原路径,新路径,(err)=>{})
-
同步 fs.copyFileSync(原路径,新路径)
-
重命名 异步 fs.rename(原路径,新路径,(err)=>{})
-
同步 fs.renameSync(原路径,新路径)
文件夹
-
读取文件夹 异步 fs.readdir(路径,(err,data)=>{})
-
同步 let res = fs.readdirSync(路径)
-
创建文件夹 异步 fs.mkdir(路径,(err)=>{})
-
同步 fs.mkdirSync(路径)
-
删除空文件夹 异步 fs.rmdir(路径,(err)=>{})
-
同步 fs.rmdirSync(路径)
判断文件或文件夹是否存在
- 同步 fs.existsSync(路径) 存在返回true 不存在返回false
let fs = require("fs");
let res = fs.existsSync("./dist/2.js");
console.log(res)
- 异步 fs.exist(路径,(bool)=>{console.log(bool);}) // bool 返回的布尔值
获取文件或文件夹的信息
- 异步 fs.stat(路径,(err,data)=>{})
- 同步 let res = fs.statSync(路径)
流式读写
- 1、创建可读流
- 2、创建一个可写流
- 3、pipe输出
let fs = require("fs");
let rs = fs.createReadStream("./src/1.mp4");
let ws = fs.createWriteStream("./src/2.mp4");
-
rs.pipe(ws)
-
读一点写一点
-
data事件 当数据改变的时候会被触发
rs.on("data",(thunk)=>{
console.log(thunk);
if(!ws.write(thunk)){
rs.pause() // 暂停
}
})
- 写完之后会触发 drain
ws.on("drain",()=>{
rs.resume(); // 恢复
})
- 读完 end事件
rs.on("end",()=>{
console.log("成功")
})