DirectoryInfo.getFiles以.开头

JL.*_*JL. 20 c# directoryinfo

我遇到了一些奇怪的行为,试图获取以某个字符串开头的文件.

请有人就此提供一个有效的例子:

我想获取一个以某个字符串开头的目录中的所有文件,但也包含xml扩展名.

例如:

 apples_01.xml
 apples_02.xml
 pears_03.xml
Run Code Online (Sandbox Code Playgroud)

我希望能够获得以苹果开头的文件.

到目前为止,我有这个代码

 DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath);
 FileInfo[] taskFiles = taskDirectory.GetFiles("*.xml");
Run Code Online (Sandbox Code Playgroud)

Cer*_*rus 42

FileInfo[] taskFiles = taskDirectory.GetFiles("apples*.xml");
Run Code Online (Sandbox Code Playgroud)

  • GetFiles在搜索短名称和长名称时可能不可靠.我会将建议推荐给.GetFiles(),然后使用正则表达式进行过滤.(更好的是,在.net 4中使用新的.EnumerateFiles()) (3认同)

Cod*_*ker 6

var taskFiles = taskDirectory.GetFiles("*.xml").Where(p => p.Name.StartsWith("apples"));
Run Code Online (Sandbox Code Playgroud)