fat32分区最多可以存放4,177,920个文件,单个目录下文件和子目录的总数最大为65,534个(如果使用长文件名,这个数目将会明显减少)
NTFS分区最多可存放4,294,967,295个文件
微软解答:
FAT
4GB Max File Size
4GB Max Volume Size
512 Files Per Folder
FAT32
4GB Max File Size
2TB Max Volume Size
65,534 Files Per Folder
NTFS
No limit on Max file size.
256TB Max Volume Size (64KB Clusters)
4,294,967,295 Files Per Folder
硬盘格式为:FAT格式(如:上世纪的Windows95及之前版本等)
单个文件存储容量最大为:4GB
单文件夹中所有文件总和的容量最大为:4GB
单文件夹中最大可有512个文件(注:前提是所有文件容量总和小于或等于4GB时,并且此格式似乎应该是不支持长文件名,只支持短文件名!)
硬盘格式为:FAT32格式(如:上世纪的Windows98或本世纪的Windows2000、Windows XP、Windows2003、Windows Vista等都可存在此格式的硬盘)
单个文件存储容量最大为:4GB
单文件夹中所有文件总和的容量最大为:2TB(注:1TB=1024GB)
单文件夹中最大可有65,534个文件(注:前提是所有文件容量总和小于或等于2TB,并且所有文件名都是短文件名,而不是长文件名。至于什么是长文件名什么是短文件名,到网上搜素看吧!)
硬盘格式为:NTFS格式(如:本世纪的Windows2000、Windows XP、Windows2003、Windows Vista等都可存在此格式的硬盘)
单个文件存储容量最大为:无限制
单文件夹中所有文件总和的容量最大为:256TB (64KB集群)(注:不太明白为何要加64KB集群,是不是再说磁盘阵列呢?1TB=1024GB,算算256TB是多大的GB,现在个人计算机或者一般PC服务器似乎还没有这么大的硬盘)
单文件夹中最大可有4,294,967,295个文件(注:前提是所有文件容量总和小于或等于256TB时,并且所有文件名都是短文件名,而不是长文件名。至于什么是长文件名什么是短文件名,到网上搜素看吧!我想这个应该在普遍情况下都能满足此前提的。)
看来大家用NTFS格式还是很好的,然而NTFS的单个文件夹对存储多少文件还是有限制的,并不像百度知道中有些人所述的最大文件个数无限制,只不过是四十二亿多的文件,我想足够存储了吧!
C++的测试代码如下:
const int N=65536;
CString strText(_T(""));
CFile file;
CString strPath(_T("H:"));
for(int i=0;i<10;i++){
strText.Format(_T("\\Data%d"),i);
strPath=strPath+strText;
::CreateDirectory(strPath,NULL);
}
for(int i=0;i<N;i++){
strText.Format(_T("%s\\Tabcdefghijklmnopqrstuvwxyz%d.txt"),strPath,i+1);
file.Open(strText,CFile::modeCreate|CFile::modeReadWrite);
file.Close();
}
打开“记事本”,输入引号内的代码:“for /l %%a in (1,1,10000000000000000) do echo text> %%a.txt”,然后将这段代码另存为一个bat格式的批处理文件。