閱讀992 返回首頁    go 阿裏雲 go 技術社區[雲棲]


各種文件係統的文件夾數量與容量限製

 今天寫程序時,打算不斷的將生成的圖片文件放入一個文件夾中,但是每次當放入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個文件,了解了這些,我就知道了應該對這種大批量的文件係統上的文件存儲要適度的建立子文件夾。

最後更新:2017-04-02 00:06:42

  上一篇:go java中容器介紹(List,Set,Map)
  下一篇:go 中文機器名引起BEA ALBPM,IBM DB2之水土不服?