C# Directory.GetFiles()函数案例详解
C#中Directory.GetFiles() 函数的使用
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 包含所有子目录
返回值
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()函数案例详解的文章就介绍到这了,更多相关C# Directory.GetFiles()函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
C# NullReferenceException解决案例讲解
最近一直在写c#的时候一直遇到这个报错,看的我心烦...准备记下来以备后续只需. 参考博客: https://segmentfault.com/a/1190000012609600 一般情况下,遇到这种错误是因为程序代码正在试图访问一个null的引用类型的实体而抛出异常.可能的原因.. 一.未实例化引用类型实体 比如声明以后,却不实例化 using System; using System.Collections.Generic; namespace Demo { class Program {
-
C#的TimeSpan案例详解
TimeSpan结构:表示一个时间间隔. 它含有以下四个构造函数: TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数. (DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒) TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数.分钟数和秒数. TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数.小时
-
C# ExecuteScalar()方法案例讲解
执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 1.返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型 例: string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True"; SQLConnection objConn = new SQLconnection(strC
-
c#多线程之间的排他锁的实现
我们很多时候会碰到这样的问题,使用多线程刷一个表的数据时需要多个线程不能重复提取数据,那么这个时候就需要使用到线程的排他锁了. 在c#里面其实很简单,下面先来看一个简单的小例子 Thread pingTask = new Thread(new ThreadStart(delegate { //从数据库获取1000条数 var list = getdata(); })); //启动线程 pingTask.Start(); 如果这个时候我们开启多个线程 代码如下 for (int i = 0; i
-
C# MemoryStream类案例详解
MemoryStream位于System.IO命名空间,为系统内存提供流式的读写操作.常作为其他流数据交换时的中间对象操作. MemoryStream类封装一个字节数组,在构造实例时可以使用一个字节数组作为参数,但是数组的长度无法调整.使用默认无参数构造函数创建实例,可以使用Write方法写入,随着字节数据的写入,数组的大小自动调整. 在对MemoryStream类中数据流进行读取时,可以使用seek方法定位读取器的当前的位置,可以通过指定长度的数组一次性读取指定长度的数据.ReadByte方法
-
C# TreeNode案例详解
目录 添加节点 删除 修改 方法1: 方法二: 添加节点 private void Form1_Load(object sender, EventArgs e) { treeView1.LabelEdit = true;//可编辑状态. //添加一个节点,这个结点是根节点. TreeNode node = new TreeNode(); node.Text = "hope"; treeView1.Nodes.Add(node); TreeNode node1 = new TreeNod
-
C# Request.Form用法案例详解
在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得: siteInfo.FZJGID = DropDownList_sitebranch.SelectedItem.Value.Trim(); siteInfo.FZJGID = Request.Form["DropDownList_sitebranch"].ToString(); siteInfo.FZJGID = Request["DropDownList_sitebra
-
C# Console.WriteLine()用法案例详解
以前用Console.WriteLine()的时候就只会用它直接输出string字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧. 代码格式我就不写了,因为写了也不好理解,所以直接上示例了. ① static void Main(string[] args) { int i = 6; string s = "输出"; Console.WriteLine("{0}还可以这样{1}哦.", i, s); Console.Wr
-
C# Directory.GetFiles()函数案例详解
C#中Directory.GetFiles() 函数的使用 C#中Directory.GetFiles(string path , string searchPattern, SearchOption searchOption ) 获取path目录中所有文件 注:红色字体部分为可选参数 参数 path 要搜索的目录的相对或绝对路径.此字符串不区分大小写. searchPattern 要与 path 中的文件名匹配的搜索字符串.此参数可以包含有效文本路径和通配符(* 和 ?)的组合(请参见"备注&
-
C语言之system函数案例详解
来看看在windows操作系统下system () 函数详解(主要是在C语言中的应用) 注意:在windows下的system函数中命令可以不区别大小写! 函数名: system 功 能: 发出一个DOS命令 用 法: int system(char *command); system函数已经被收录在标准c库中,可以直接调用. 例如: #include<stdio.h> #include<stdlib.h> int main() { printf("About to sp
-
C语言strtod()函数案例详解
前言 网上有很多关于strtod()函数的文章,不过大部分都是用strtod()函数转换一个字符 char *str = "111.11"; char *target; double ret; ret = strtod(str, &target); 很少有转换字符串的这样的用法 char *p = "111.11 -2.22 Nan nan(2) inF 0X1.BC70A3D70A3D7P+6 1.18973e+4932zzz"; 本文主要参考strtod
-
C++ WideCharToMultiByte()函数案例详解
函数WideCharToMultiByte() 详解 函数原型: int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPWSTR lpWideCharStr, int cchWideChar, LPCSTR lpMultiByteStr, int cchMultiByte, LPCSTR lpDefaultChar, PBOOL pfUsedDefaultChar ); 函数功能: 此函数把宽字符串转换成指定的新的字符串,如ANSI,U
-
C语言 TerminateProcess函数案例详解
TerminateProcess 顾名思义,就是终止进程的意思. 是WindowsAPI的函数, 示例代码如下: // Demo.cpp : 定义控制台应用程序的入口点. //终止进程Demo #include "stdafx.h" using namespace std; //@param:dwpid:指定需要关闭的进程pid int CloseProcess(DWORD dwpid) { HANDLE hProcess = OpenProcess(PROCESS_TERMINATE
-
C语言 bind()函数案例详解
bind()函数介绍 在建立套接字文件描述符成功后,需要对套接字进行地址和端口的绑定,才能进行数据的接收和发送操作. 函数原型 bind()函数将长度为addlen的struct sockadd类型的参数my_addr与sockfd绑定在一起,将sockfd绑定到某个端口上,如果使用connect()函数则没有绑定的必要.绑定的函数原型如下: #include<sys/types.h> #include<sys/socket.h> int bind(in
-
CreateCompatibleDC()函数案例详解
函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC). 函数原型:HDC CreateCompatibleDC(HDC hdc): 参数: hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境. 返回值:如果成功,则返回内存设备上下文环境的句柄:如果失败,则返回值为NULL. CreateCompatibleDc函数只适用于支持光栅操作的设备,应用程序可以通过调用GetDeviceCaps函数来确定一个设备是否支持这些
-
C语言 fseek(f,0,SEEK_SET)函数案例详解
fseek(f,0,SEEK_SET); 意思是把文件指针指向文件的开头 fseek 函数名: fseek 功 能: 重定位流上的文件指针 用 法: int fseek(FILE *stream, long offset, int fromwhere); 描 述: 函数设置文件指针stream的位置.如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置.如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置. 返回值: 成功,返回0,
-
C语言container of()函数案例详解
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义??? 怎么还有0呢??? 哎,算了,还是放弃吧...). 这就是内核大佬们厉害的地方,随便两行代码就让我们怀疑人生,凡是都需要一个过程,慢慢来吧. 其实,原理很简单: 已知结构体type的成员member的地址ptr,求解结构体type的起始地址.
-
JavaScript CollectGarbage函数案例详解
首先看一个内存释放的实例: <SCRIPT LANGUAGE="JavaScript"> <!-- strTest = "1"; for ( var i = 0; i < 25; i ++ ) { strTest += strTest; } alert(strTest); delete strTest; CollectGarbage(); //--> </SCRIPT> CollectGarbage,是IE的一个特有属性,用
随机推荐
- SQLServer数据库从高版本降级到低版本实例详解
- 基于JS实现类似支付宝支付密码输入框
- PHP+Memcache实现wordpress访问总数统计(非插件)
- Python多进程通信Queue、Pipe、Value、Array实例
- 详解Python的Django框架中的中间件
- 使用Node.js配合Nginx实现高负载网络
- asp.net 产生唯一随机码的方法分析
- 强制删除rpm包的方法
- 移动端手指放大缩小插件与js源码
- jQuery学习笔记之总体架构
- SED单行脚本快速参考(流编辑器)第1/2页
- jQuery基于ajax操作json数据简单示例
- C# IEnumerable和IEnumerator接口浅析
- PHP实现恶意DDOS攻击避免带宽占用问题方法
- C# PLINQ 内存列表查询优化历程
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- 3种vue组件的书写形式
- vue-cli启动本地服务局域网不能访问的原因分析
- 别在Java代码里乱打日志了,这才是正确的打日志姿势
- Python帮你微信头像任意添加装饰别再@微信官方了