nodejs獲取檔案資訊,判斷是檔案或目錄

看風景就發表於2018-10-08
var stat = fs.statSync(filename);
console.log(stat)

輸出

{ 
 dev: 0, ino: 0, mode: 33206, nlink: 1, uid: 0, gid: 0, rdev: 0, size: 1747, atime: Tue, 03 Jan 2012 13:35:51 GMT, mtime: Tue, 03 Jan 2012 13:35:51 GMT, ctime: Wed, 21 Dec 2011 14:31:59 GMT
}

其中atime,mtime,ctime就分別代表了訪問時間,修改時間以及建立時間,都為date型別

nodejs使用stats物件來代表一個檔案或裝置資訊,stats物件有如下方法:

stats.isFile() 如果是檔案返回 true,否則返回 false。
stats.isDirectory() 如果是目錄返回 true,否則返回 false。
stats.isBlockDevice() 如果是塊裝置返回 true,否則返回 false。
stats.isCharacterDevice() 如果是字元裝置返回 true,否則返回 false。
stats.isSymbolicLink() 如果是軟連結返回 true,否則返回 false。
stats.isFIFO() 如果是FIFO,返回true,否則返回 false。FIFO是UNIX中的一種特殊型別的命令管道。
stats.isSocket() 如果是 Socket 返回 true,否則返回 false。

stats物件的isFile可以判斷裝置是否為檔案,isDirectory可以判斷裝置是否為目錄

判斷檔案是否存在,使用 fs.existsSync(path)

相關文章