统计节点写所有子孙节点数据
Every file comes with a set of details that we can inspect using Node.
每个文件都带有一组我们可以使用Node查看的详细信息。
In particular, using the stat()
method provided by the fs
module.
特别是,使用fs
模块提供的stat()
方法。
You call it passing a file path, and once Node gets the file details it will call the callback function you pass, with 2 parameters: an error message, and the file stats:
您通过传递文件路径来调用它,一旦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 provides also a sync method, which blocks the thread until the file stats are ready:
Node还提供了一个同步方法,该方法将阻塞线程,直到文件状态准备就绪为止:
const fs = require('fs')
try {
const stats = fs.stat('/Users/flavio/test.txt')
} catch (err) {
console.error(err)
}
The file information is included in the stats variable. What kind of information can we extract using the stats?
文件信息包含在stats变量中。 我们可以使用这些统计信息提取哪些信息?
A lot, including:
很多,包括:
if the file is a directory or a file, using
stats.isFile()
andstats.isDirectory()
如果文件是目录或文件,则使用
stats.isFile()
和stats.isDirectory()
if the file is a symbolic link using
stats.isSymbolicLink()
如果文件是使用
stats.isSymbolicLink()
的符号链接the file size in bytes using
stats.size
.使用
stats.size
以字节为单位的文件大小。
There are other advanced methods, but the bulk of what you’ll use in your day-to-day programming is this.
还有其他一些高级方法,但是您在日常编程中将使用的大部分方法都是这样。
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
})
统计节点写所有子孙节点数据