C#中Directory.GetFiles(string path , string searchPattern, SearchOption searchOption )
获取path目录中所有文件
注:红色字体部分为可选参数
参数
- path
-
要搜索的目录的相对或绝对路径。此字符串不区分大小写。
- searchPattern
-
要与 path 中的文件名匹配的搜索字符串。此参数可以包含有效文本路径和通配符(* 和 ?)的组合(请参见“备注”),但不支持正则表达式。
searchPattern可以是文本和通配符的组合字符,但不支持正则表达式。在允许使用下面的通配符说明符searchPattern。
通配符说明符
匹配
* (星号)
在该位置的零个或多个字符。
?(问号)
在该位置的零个或一个字符。
- 详情可参见:https://msdn.microsoft.com/zh-cn/library/ms143316(v=vs.110).aspx
- 经本人测试发现:
- "*.mat"可搜索到"box.mat"、"box.mat1"等格式的文件,但是搜索不到文件"box.mat.meta"
- searchOption
-
用于指定搜索操作是应包含所有子目录还是仅包含当前目录的枚举值之一。
代码如下:
using System;
using System.Runtime.InteropServices;
namespace System.IO
{
[ComVisible (true)]
[Serializable]
public enum SearchOption
{
TopDirectoryOnly,
AllDirectories
}
}SearchOption.TopDirectoryOnly 默认选项,仅包含当前目录
SearchOption.AllDirectories 包含所有子目录
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)