文件系统fs其他方法

验证文件是否存在

  • fs.existsSync(path): 验证文件是否存在。path为要验证的文件路径
  • 返回值为true与false
const f = fs.existsSync("test.txt")

console.log(f)

获取文件状态

  • fs.stat(path, callback)
  • fs.statSync(path)
  • 在回调函数中存在两个参数err与stat。stat中保存了文件的状态
fs.stat("test.txt", function (err, stat) {
  if (!err) {
    /*
    * stat.size:文件的大小
    * stat.isFile():文件是否为一个文件
    * stat.isDirectory():文件是否为一个文件夹
    * */
    console.log(stat.size)
    console.log(stat.isFile())
    console.log(stat.isDirectory())
  } else {
    console.log(err)
  }
})

删除文件

  • fs.unlink(path, callback)
  • fs.unlinkSync(path)
fs.unlinkSync("test5.txt")

读取文件目录结构

  • fs.readdir(path[, options], callback)
  • fs.readdir(path[, options])
  • callback为回调函数,参数为err与files
  • files为当前目录下所有的文件与文件夹
// 读取上一级目录下的目录结构
fs.readdir("../", function (err, files) {
  if (!err) {
    console.log(files);
  } else {
    console.log(err);
  }
})

截断文件

  • fs.truncate(path, len, callback)
  • fs.truncateSync(path, len)
  • path为要截断的文件路径
  • len为截断的位置
// 从第5个字节处开始截断文件内容
fs.truncateSync("test3.txt", 5)

创建文件夹

  • fs.mkdir(path[, options], callback)
  • fs.mkdirSync(path[, options])
fs.mkdirSync("hello")

删除文件夹

  • fs.rmdir(path[, options], callback)
  • fs.rmdirSync(path[, options])
fs.rmdirSync("hello")

重命名文件

  • fs.rename(oldPath, newPath, callback)
  • fs.renameSync(oldPath, newPath)
  • 对文件进行重命名,当路径发生变化时,相当于剪切文件
fs.rename("test.mp3", "歌曲.mp3", function (err) {
  if (!err) {
    console.log("修改成功!!")
  } else {
    console.log(err)
  }
})

监听文件改变

  • fs.watchFile(filename[, options], listener)
  • filename:要监听的文件名
  • options:状态
  • listener:回调函数。参数为prev与curr
  • prev为文件修改之前的文件对象,curr为文件修改之后的文件对象
fs.watchFile("test.txt", function (prev, curr) {
  console.log("修改文件前文件大小:" + prev.size)
  console.log("修改之后文件大小:" + curr.size)
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值