使用 DirectoryInfo 的 GetFiles 提取文件,提取多种文件
1. DirectoryInfo di = new DirectoryInfo(filePath);
FileInfo[] afi = di.GetFiles("*.dat");
或者 FileInfo[] afi = di.GetFiles(searchPatten,SearchOption.AllDirectories);
searchPatten:搜索字符串
searchOption:枚举的一个值,指定搜索操作是应包含当前目录还是包含所有子目录
DirectoryInfo di = new DirectoryInfo(filePath);
FileInfo[] afi = di.GetFiles("*.dat",SearchOption.AllDirectories);
2. FileInfo类介绍
FileInfo 类
提供创建、复制、删除、移动和打开文件的属性和实例方法,并且帮助创建 FileStream 对象。 此类不能被继承。
该类含有以下属性:
名称 说明
Attributes 获取或设置当前文件或目录的特性。
CreationTime 获取或设置当前文件或目录的创建时间。
CreationTimeUtc 获取或设置当前文件或目录的创建时间,其格式为协调世界时 (UTC)。
Directory 获取父目录的实例。
DirectoryName 获取表示目录的完整路径的字符串。
Exists 获取指示文件是否存在的值。 (重写 FileSystemInfo.Exists。)
Extension 获取表示文件扩展名部分的字符串。
FullName 获取目录或文件的完整目录。
IsReadOnly 获取或设置确定当前文件是否为只读的值。
LastAccessTime 获取或设置上次访问当前文件或目录的时间。
LastAccessTimeUtc 获取或设置上次访问当前文件或目录的时间,其格式为协调世界时 (UTC)。
LastWriteTime 获取或设置上次写入当前文件或目录的时间。
LastWriteTimeUtc 获取或设置上次写入当前文件或目录的时间,其格式为协调世界时 (UTC)。
Length 获取当前文件的大小(字节)。
Name 获取文件名。 (重写 FileSystemInfo.Name。)
并有以下方法:
名称 说明
AppendText 创建一个 StreamWriter,它向 FileInfo 的此实例表示的文件追加文本。
CopyTo(String) 将现有文件复制到新文件,不允许覆盖现有文件。
CopyTo(String, Boolean) 将现有文件复制到新文件,允许覆盖现有文件。
Create 创建文件。
CreateObjRef 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
CreateText 创建写入新文本文件的 StreamWriter。
Decrypt 使用 Encrypt 方法解密由当前帐户加密的文件。
Delete 永久删除文件。
Encrypt 将某个文件加密,使得只有加密该文件的帐户才能将其解密。
Equals(Object) 确定指定的对象是否等于当前对象。
GetAccessControl() 获取 FileSecurity 对象,该对象封装当前 FileInfo 对象所描述的文件的访问控制列表 (ACL) 项。
3.对获得的文件排序
3.1. 排序
1. 名称顺序 Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.Name.CompareTo(y.Name); });
2. 名称倒序 Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.Name.CompareTo(x.Name); });
3. 时间顺序 Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.CreationTime.CompareTo(x.CreationTime); });
4.时间倒序 Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.CreationTime.CompareTo(y.CreationTime); });