文章目录
IO
I: input
O: output
外部设备: 非cpu与内存,均为外部设备
IO的读写速度往往低于cpu与内存的交互速度
FS模块
fs.readFile 读取一个文件(异步)
同步的文件相关操作不建议使用
// 假设同级目录下存在test.txt
const fs = require("fs");
// fs.readFile("./test.txt") //不推荐使用相对路径,因为相对路径跟命令提示符相关而非文件位置相关
const path = require("path");
const filename = path.resolve(__dirname, "./test.txt")
fs.readFile(filename, (err, content)=> { // 注意是异步
console.log(content) // 得到buffer数组
console.log(content.toString("utf-8")) // 读出字符串内容
})
fs.readFile(filename, "utf-8", (err, content)=> {
console.log(content) // 读出字符串内容
})
// promise形式
async function aaa() {
const content = await fs.promises.readFile(filename, "utf-8")
console.log(content)
}
fs.writeFile 写入文件
当文件不存在可以创建文件,当目录不存在会报错
async function aaa() {
// await fs.pormises.writeFile(filename, "想写入的内容", {
// flag: "a" // 追加写入 不写 默认覆盖写入
// })
const buffer = Buffer.from("想写入的内容", "utf-8") // buffer形式的写入
await fs.pormises.writeFile(filename, buffer)
}
fs.stat 获取文件或目录的信息
const stat = await fs.promises.stat(filename)
stat.isDirectory() // 是否是目录
stat.isFile() // 是否是文件