windows下,全文件名的字符长度是有限制的,众所周知,是MAX_PATH,260。对于这个,几点具体解释:
1. 这个260指的是包含目录到文件名的全路径字符长度。
2. 实际上,测试可以发现:
--加上null,你在资源管理器里只能创建259个字符的全文件名,即实际上只能创建MAX_PATH -2 = 258字符的路径。
--你可以创建c:\长目录\abc.txt <= 258,也可以创建c:\abc\长文件名.txt <= 258。
--创建每一级目录的时候,可以输入的目录名字符是有限制的,规则就是:至少保留下了 11个字符(8.3规则?)使得最内层目录仍然可以创建出文件。
--但是,比如你创建了C:\abc\长文件名.txt,然后呢,重命名目录abc,这时候,你可以创建出一个总长度超过MAX_PATH的全文件名。相当tricky。
参考:
http://blog.163.com/wangdong_mail@126/blog/static/3606944620105109561679/