/

Node 檔案統計

Node 檔案統計

如何使用 Node 獲取檔案的詳細資訊

每個檔案都有一組我們可以使用 Node 檢視的詳細資訊。

特別是使用 fs 模組提供的 stat() 方法。

您可以呼叫它並傳遞檔案路徑,一旦 Node 獲取了檔案詳細資訊,它將調用您傳遞的回調函數,該函數帶有2個參數:錯誤訊息和檔案統計資訊:

1
2
3
4
5
6
7
8
const fs = require('fs')
fs.stat('/Users/flavio/test.txt', (err, stats) => {
if (err) {
console.error(err)
return
}
//我們可以在 `stats` 中存取檔案統計資訊
})

Node還提供了一個同步方法,它會阻塞線程,直到檔案統計資訊準備好:

1
2
3
4
5
6
const fs = require('fs')
try {
const stats = fs.statSync('/Users/flavio/test.txt')
} catch (err) {
console.error(err)
}

檔案資訊存儲在 stats 變數中。我們可以使用 stats 提取哪些類型的資訊?

有很多,包括:

  • 使用 stats.isFile()stats.isDirectory() 判斷檔案是目錄還是檔案
  • 使用 stats.isSymbolicLink() 判斷檔案是否為符號連結
  • 使用 stats.size 獲取檔案大小(以位元組為單位)

還有其他高級方法,但在日常編程中,您將主要使用上述方法。

1
2
3
4
5
6
7
8
9
10
11
12
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)
})

tags: [“Node.js”, “fs module”, “file stats”]