节点文件统计

如何使用Node获取文件的详细信息

每个文件都带有一组我们可以使用Node查看的详细信息。

特别是,使用stat()提供的方法fs模块。

您称它为传递文件路径,一旦Node获得文件详细信息,它将调用您传递的回调函数,其中包含2个参数:错误消息和文件统计信息:

const fs = require('fs')
fs.stat('/Users/flavio/test.txt', (err, stats) => {
  if (err) {
    console.error(err)
    return
  }
  //we have access to the file stats in `stats`
})

Node还提供了一个同步方法,该方法将阻塞线程,直到文件状态准备就绪为止:

const fs = require('fs')
try {
  const stats = fs.stat('/Users/flavio/test.txt')
} catch (err) {
  console.error(err)
}

文件信息包含在stats变量中。我们可以使用这些统计信息提取哪些信息?

很多,包括:

  • 如果文件是目录或文件,请使用stats.isFile()stats.isDirectory()
  • 如果文件是一个符号链接,则使用stats.isSymbolicLink()
  • 文件大小(以字节为单位)stats.size

还有其他一些高级方法,但是您在日常编程中将使用的大部分方法是这样的。

const fs = require('fs')
fs.stat('/Users/flavio/test.txt', (err, stats) => {
  if (err) {
    console.error(err)
    return
  }

stats.isFile() //true stats.isDirectory() //false stats.isSymbolicLink() //false stats.size //1024000 //= 1MB })

免费下载我的Node.js手册


更多节点教程: