文件系统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)
})

版权声明:本文为jwz934738949原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。