zoukankan      html  css  js  c++  java
  • Directory.GetFiles

    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 不能以两个句点结尾 ("...") 或包含两个句点 ("...")DirectorySeparatorCharAltDirectorySeparatorChar, ,也不可以包含任何无效字符。 你可以使用 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"。

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

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

    path 参数不区分大小写。

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

    示例
     

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

    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());
            }
        }
    
  • 相关阅读:
    JS实战 · 表单验证
    JS实战 · 仿css样式选择器
    JS实战 ·  收缩菜单表单布局
    cookie自动登录的实现
    redis 3.2.5单机版安装、使用、systemctl管理Redis启动、停止、开机启动
    yum问题解决
    配置yum镜像源
    shell笔记
    CCIE总结:路由器、交换机
    云主机如何挂在磁盘
  • 原文地址:https://www.cnblogs.com/TJessica/p/6344590.html
Copyright © 2011-2022 走看看