Directory.GetFiles

Directory.GetFileshttp://blog.csdn.net/limlimlim/article/details/8260911转载https://msdn.microsoft.com/zh-cn/library/wz42302f.as

http://blog.csdn.net/limlimlim/article/details/8260911 转载

https://msdn.microsoft.com/zh-cn/library/wz42302f.aspx

第一种方式

System.IO.Directory.GetFiles()获取多个类型格式的文件 System.IO.Directory.GetFiles(“c:\”,”(*.exe|*.txt)”); 

 第二种方式

var files = Directory.GetFiles(“C:\\path”, “*.*”, SearchOption.AllDirectories) .Where(s => s.EndsWith(“.mp3”) || s.EndsWith(“.jpg”));

但这种写法应该只有VS2008才支持,VS2005不支持

 

 

Directory.GetFiles 方法 (String, String)          

返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。

命名空间:                     System.IO
程序集:          mscorlib(位于 mscorlib.dll)

语法

 

public static string[] GetFiles( string path, string searchPattern ) 

参数
path

    Type:     System.String

要搜索的目录的相对或绝对路径。 此字符串不区分大小写。

searchPattern

    Type:     System.String

要与 path 中的文件名匹配的搜索字符串。  此参数可以包含有效的文本路径和通配符(* 和 ?) 字符(请参阅备注),但不支持正则表达式。

返回值

Type:     System.String[]

指定目录中与指定的搜索模式匹配的文件的完整名称(包含路径)的数组;如果未找到任何文件,则为空数组。

异常

 

Exception                       Condition          
IOException

path 是文件名。

– 或 –

发生了网络错误。

UnauthorizedAccessException

调用方没有所要求的权限。

ArgumentException

path 为长度为零的字符串,仅包含空格,或包含一个或多个无效字符。 可以通过使用 GetInvalidPathChars 查询无效的字符。

– 或 –

searchPattern 不包含有效的模式。

ArgumentNullException

pathsearchPatternnull

PathTooLongException

指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。

DirectoryNotFoundException

指定的路径未找到或无效(例如,它在未映射的驱动器上)。

备注

 

返回的文件名追加到提供 path 参数和返回的文件名的顺序不能保证; 使用 Sort 方法是否需要特定的排序顺序。

searchPattern 可以是文本和通配符的组合字符,但不支持正则表达式。 在允许使用下列通配符说明符 searchPattern

通配符说明符

匹配

*(星号)

在该位置的零个或多个字符。

? (问号)

在该位置的零个或一个字符。

该通配符以外的字符是原义字符。 例如, searchPattern 字符串”* t”中的所有名称搜索 path 以字母”t”结尾。   searchPattern 字符串”s *”中的所有名称搜索 path 以字母”s”开头。

searchPattern 不能以两个句点结尾 (“…”) 或包含两个句点 (“…”) 跟 DirectorySeparatorChar 或 AltDirectorySeparatorChar, ,也不可以包含任何无效字符。 你可以使用 GetInvalidPathChars 方法查询无效字符。

System_CAPS_note说明

当使用中的星号通配符字符 searchPattern 例如”*.txt”中指定的扩展的字符数将影响的搜索,如下所示︰

  • 如果指定的扩展名为 3 个字符,该方法将返回具有指定扩展名开头的扩展名的文件。 例如,”*.xls”返回”book.xls”和”book.xlsx”。

  • 在所有其他情况下,该方法返回与指定的扩展名完全匹配的文件。 例如,”*.ai”返回”file.ai”,而不是”file.aif”。

当使用问号通配符字符时,此方法将返回与指定的文件扩展名匹配的文件。 例如,在目录中,搜索模式的给定两个文件、”file1.txt”和”file1.txtother”,”文件?。txt”返回只是第一个文件,而”file*.txt”的搜索模式返回这两个文件。

System_CAPS_note说明

此方法检查针对 8.3 文件名格式和长文件名的格式文件的名称,因为的搜索模式类似于”* 1*.txt”可能会返回意外的文件的名称。 例如,使用的搜索模式”* 1*.txt”返回”longfilename.txt”,因为等效 8.3 文件名格式是”LONGFI~1.TXT”。

EnumerateFiles 和 GetFiles 方法的行为有所不同,如下所示︰ 当您使用 EnumerateFiles, ,您可以开始之前,则返回整个集合枚举名称的集合; 当您使用 GetFiles, ,您必须等待的名称,然后才能访问该数组要返回的整个数组。 因此,当您使用多个文件和目录、 EnumerateFiles 可能会更有效。

path 参数可以指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参阅 GetCurrentDirectory。

path 参数不区分大小写。

通用 I/O 任务的列表,请参阅 通用 I/O 任务。

示例

 

下面的示例计算指定的字母开头的文件数。

C#
C++
VB

using System;
using System.IO; class Test { public static void Main() { try { // Only get files that begin with the letter "c." string[] dirs = Directory.GetFiles(@"c:\", "c*"); Console.WriteLine("The number of files starting with c is {0}.", dirs.Length); foreach (string dir in dirs) { Console.WriteLine(dir); } } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } } 

转载于:https://www.cnblogs.com/TJessica/p/6344590.html

今天的文章Directory.GetFiles分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72828.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注