二:fs模块的使用
2.1 fs模块的引入
const fs = require("fs")
2.2 fs模块的其他方法
fs.stat() // 判断一个文件是文件还是目录
fs.mkdir() // 创建一个文件夹
fs.writeFile() // 向文件中写入内容,没有这个文件则创建一个
fs.appendFile() // 向文件中追加内容
fs.readFile() // 读取文件中的内容
fs.readdir() // 读取目录中的第一层文件和目录
fs.rename() // 重命名或移动文件或文件夹
fs.rmdir() // 删除文件夹
fs.unlink() // 删除文件
fs.createReadStream() // 创建一个只读流
fs.createWriteStream() // 创建一个可写流
rs.pipe(ws) // 创建一个管道流,可以实现将一个文件中的内容复制到另一个文件中
fs模块——实例1
// 1. 引入fs模块
const fs = require("fs")
// 2. fs.stat(路径/文件名,(error,data)=>{})
// 2.1 方法 data.isDirectory() data.isFile()
var path = "./wwwroot"
fs.stat(path,(error,data)=>{
if(error){
console.log(error)
mkdir()
return
}
if(data.isDirectory()){
console.log("该目录已经存在")
}else{
fs.unlink(data,(error)=>{
console.log(error)
return
})
}
})
function mkdir(){
fs.mkdir(path,(error)=>{
if(error){
console.log(error)
return
}
})
}
fs模块——实例2
const fs = require("fs")
// 向文件中写入内容
fs.writeFile("hello.txt","writeFile方法写入的内容",(error)=>{
if(error){
console.log("写入失败")
}
})
// 读取文件的内容
fs.readFile("hello.txt","utf-8",(error,data)=>{
if(error){
console.log("读取文件失败")
return
}
// 因为读取到的问文件内容不一定是字符串,有可能是一个图片资源,所以data返回的是一个buffer,如果想要看见里面的内容需要使用toString()方法
console.log("读取到的文件内容为:"+data.toStirng())
})
// 向文件中追加内容
fs.appendFile("hello.txt","appendFIle方法向文件中追加的内容",(error)=>{
if(error){
console.log("向文件中追加内容失败")
}
})
fs模块——实例3
const fs = require("fs")
// 可以移动并重命名文件的名称
fs.rename("hello.txt","./wwwroot/world.txt",(error)=>{
if(error){
console.log(error)
return
}
})
// 删除指定的文件夹
fs.rmdir("wwwroot",(error)=>{
if(error){
console.log("删除目录失败")
return
}
})
// 删除指定的文件
fs.unlink("hello.txt",(error)=>{
if(error){
console.log("删除文件失败")
return
}
})
fs模块——实例4
const fs = require("fs")
var rs = fs.createReadStream("hello.txt");
rs.on("data",(error,data)=>{
if(error){
console.log("读取文件内容失败")
return
}
})
rs.on("end",(error)=>{
if(error){
console.log(error)
return
}
console.log("读取流关闭了")
})
rs.on("error",(error)=>{
console.log(error)
})
var ws = fs.createWriteStream("hello.txt")
ws.write("这是通过写入流向文件中写入的内容",(error)=>{
if(error){
console.log(error)
return
}
})
// 关闭写入流
ws.end()
ws.on("finish",(error)=>{
if(!error){
console.log("写入完成,读写流关闭")
}
})
ws.on("error",(err)=>{
console.log(err)
})
var newRs = fs.createReadStream("hello.txt")
var newWs = fs.createWriteStream("world.txt")
// 创建一个管道流
newRs.pipe(newWs)