【发布时间】:2012-12-15 18:45:08
【问题描述】:
我刚刚偶然发现了 System.IO.Directory 中 GetFiles 方法的未记录行为。
只要传递给方法的searchPattern 参数包含保留的Windows 设备名称,例如"nul.*" 或"aux.bmp",该方法就会返回一个包含不存在文件名称的数组,例如C:\Users\ft1\nul 或@987654327 @等
我想知道这些设备名称是否在上下文中具有特殊含义,例如“。”或“..”,或者如果这只是一种错误。无论如何,这仍然看起来很奇怪。 比如这段C#代码sn-p:
string[] fileNames = Directory.GetFiles(@"C:\D:\..\..\...\", "con.txt");
foreach (string fileName in fileNames) Console.WriteLine(fileName);
打印
C:\D:\..\..\...\con
有什么线索吗?
【问题讨论】:
标签: c# .net windows file getfiles