C#中Directory.GetFiles() 函数的使用(读取目录中的文件)

本文详细介绍了C#中Directory.GetFiles()函数的使用方法,包括如何通过相对或绝对路径读取目录中的文件,如何使用通配符匹配多种文件类型,以及如何选择是否搜索子目录。同时,还提供了代码示例,展示了如何结合DirectoryInfo类获取指定目录下的所有文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#中Directory.GetFiles() 函数的使用方法(读取目录中的文件):

C#中Directory.GetFiles(string path , string searchPattern, SearchOption searchOption )

获取path目录中所有文件

注:斜字体部分为可选参数

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

searchPattern
em>path." id=“mt1204”>要与 path 中的文件名匹配的搜索字符串。此参数可以包含有效文本路径和通配符(* 和 ?)的组合(请参见“备注”),但不支持正则表达式。

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

  • (星号)在该位置的零个或多个字符。
    ?(问号)在该位置的零个或一个字符。

searchOption
用于指定搜索操作是应包含所有子目录还是仅包含当前目录的枚举值之一。
代码如下:

using System;
using System.Runtime.InteropServices;
namespace System.IO
{
[ComVisible (true)]
[Serializable]
public enum SearchOption
{
  TopDirectoryOnly,
  AllDirectories
}
}

SearchOption.TopDirectoryOnly 默认选项,仅包含当前目录
SearchOption.AllDirectories 包含所有子目录

返回值
Type: System.String[]
指定目录中与指定的搜索模式和选项匹配的文件的完整名称(包含路径)的数组;如果未找到任何文件,则为空数组。

1、path使用相对路径
string path = “Assets/model”;
string[] files = Directory.GetFiles(path) ;
可通过Directory.GetCurrentDirectory()查看当前路径。

2、path使用绝对路径
string path = “D:/UnityDemo/Assets/model”
string[] files = Directory.GetFiles(path
C# Directory.GetFiles()获取多个类型格式的文件

第一种方式
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不支持

directoryinfo 既可以获取到所有文件夹,也可以获取到所有文件;directoryinfo GetDirectories() 是获取指定目录的所有文件夹,directoryinfo GetFiles() 是获取指定目录的所有文件。

有的时候写代码要获取几种指定类型的文件,例如要获取指定目录的所有视频文件,视频文件有很多种格式,如 rmvb、rm、avi、wav、mkv、mp4 等等,而 directoryinfo GetFiles() 一次只能传递一种格式的参数,所以就得分开获取,在介绍获取方法之前,先看 directoryinfo GetFiles() 的一些基本用法。

参考链接:http://www.365jz.com/article/24023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值