天天看點

各種檔案系統的檔案夾數量與容量限制

 今天寫程式時,打算不斷的将生成的圖檔檔案放入一個檔案夾中,但是每次當放入65534個檔案後就無法再存入了,起初一位是程式的bug,後來才發現原來是檔案系統對檔案數目有限制。經過查閱發現

對于fat16檔案系統,可以儲存的檔案體積最大值是 4 gb - 1 byte (2^32 bytes - 1 byte);卷的最大體積是4gb;每個卷上最多可以儲存的檔案數量是65,536個 (2^16);根目錄下可以儲存的檔案和檔案夾數量最大值是512個(如果使用了長檔案名,該數字還會減小)

對于fat32檔案系統, 可以儲存的檔案體積最大值是 4 gb - 1 byte (2^32 bytes - 1 byte);windows自帶的工具可以建立的卷的最大體積是32gb;每個卷中最多可以儲存的檔案數量是4,177,920個;一個特定檔案夾中最多可以儲存的子檔案夾和檔案的數量是65,534(如果使用了長檔案名,那麼該數字會減小)

對于ntfs檔案系統,可以儲存的檔案的大小的最大值,理論上是16eb - 1 kb (2^64 bytes - 1 kb)(1eb=1024pb=1024tb=1024gb) ,實際實作過的最大值是16tb - 64 kb (2^44 bytes - 64 kb);卷的體積最大值,理論上可以達到2^64個簇 - 1個簇,實際實作過的最大值是2^56 tb - 64 kb ( 2^32 個簇 - 1個簇);每個卷可以包含的檔案個數的最大值是4,294,967,295個 (2^32 - 1)

其中長檔案和短檔案名檔案是指過去的dos作業系統下,因為8.3格式的限制,檔案主檔名超過8位元組或擴充名超過3位元組的檔案名,都被稱為“長檔案名”,一般在windows下正常的檔案名在dos下會顯示不正常。(如“program files”資料夾可能會顯示成“progra~1”)在微軟的windows nt3.5出來之後,“長檔案名”問題得以解決,現在的windows xp系統一般可以輸入400多個字元作為檔案名,或者400個字元擴充名。{fact}

 而我用的是fat32系統,裡面最多就允許65534個檔案,了解了這些,我就知道了應該對這種大批量的檔案系統上的檔案存儲要适度的建立子檔案夾。

繼續閱讀