c# – 文件扩展名后的空格 – >奇怪的FileInfo行为
不知何故,一个文件出现在我的一个目录中,并且在其扩展名末尾有空格 –
它的名字是“test.txt”.奇怪的是,Directory.GetFiles()返回了我的路径 文件,但我无法使用FileInfo类检索文件信息. 错误在此处显示: DirectoryInfo di = new DirectoryInfo("c:somedir"); FileInfo fi = di.GetFileSystemInfos("test*")[0] as FileInfo; //correctly fi.FullName is "c:somedirtest.txt " //but fi.Exists==false (!) FileInfo类是否已损坏?我可以以某种方式检索有关此文件的信息吗?我真的不知道该文件是如何出现在我的文件系统上的,我无法再重新创建它们. 我尝试使用这种类型的扩展创建新文件的所有尝试都失败了,但现在我的程序是 解决方法
使用空格结束文件名被记录为坏主意.
来自MSDN “Naming Files,Paths,and Namespaces (Windows)”:
此外,知识库文章“INFO: Filenames Ending with Space or Period Not Supported”:
DirectoryInfo可能使用FindFirstFile()和朋友来生成目录列表. File.Exists很可能是通过GetFileAttributes()实现的,它可能遇到与CreateFile()相同的问题并报告一个不存在的文件. 因此,在.NET中没有特别的问题,但在Windows本身. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |