Node.js学习之fs模块

二: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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值