2017-10-18 275 views
0

我正在開發Electron應用程序,我需要訪問文件的大小。我正在使用fs.statSync()來完成此操作。 我的問題是,fs.statSync()stats.size始終爲0(零)。Electron + NodeJs:fs.statSync()文件大小始終爲0

這裏是我應得的文件大小:

var stats = fs.statSync(filePath); 
var fileSize = stats.size; //file size is always 0 
console.log("fileSize: " + fileSize); 

的統計對象的詳細數據:

Stats {dev: 1584160373, mode: 33206, nlink: 1, uid: 0, gid: 0…} 
atime: Wed Oct 18 2017 23:39:53 GMT+0100 (GMT Summer Time) 
birthtime: Wed Oct 18 2017 23:10:50 GMT+0100 (GMT Summer Time) 
blksize: undefined 
blocks: undefined 
ctime: Thu Oct 19 2017 00:35:33 GMT+0100 (GMT Summer Time) 
dev: 1584160373 
gid: 0 
ino: 8444249301430590 
mode: 33206 
mtime: Thu Oct 19 2017 00:35:33 GMT+0100 (GMT Summer Time) 
nlink: 1 
rdev: 0 
size: 0 
uid: 0 

我到底做錯了什麼? 順便說一句,我使用的是Windows 10 x64。

更新:我解決了我的問題。問題不在於fs.statSync(),而在於文件(它們全部爲0)。菜鳥錯誤,我的壞...¯_(ツ)_ /¯

回答

0

文件夾沒有大小,該文件夾中的文件做。您可以遍歷所有文件和子文件夾以收集每個文件大小。或者使用像'get-folder-size'這樣的包。

如果您只在Windows或Linux上運行,您可以嘗試從本機程序(如du -ksh path/to/folder)獲取文件夾大小,這在某種程度上會更快。

+0

我不是想得到文件夾大小,而是文件大小。 「downloadFolder」變量具有文件的路徑。爲了清晰起見,我更新了我的問題。 – Ricky