当前位置:首页 > 代码相关 > 正文内容

C# 与文件相关的几个类(2)

admin5年前 (2020-05-10)代码相关4749

Directory类:静态类,主要处理文件目录。

方法:

CreateDirectory(String)在指定路径中创建所有目录和子目录,除非它们已经存在。返回值是一个DirectoryInfo对象
Delete(String)从指定路径删除空目录。无返回值。
Exists(String)确定给定路径是否引用磁盘上的现有目录。返回值为bool类型。
GetDirectories(String)返回指定目录中的子目录的名称(包括其路径)。返回值是string[]。
GetCurrentDirectory()获取应用程序的当前工作目录。返回值是string。
GetFiles(String)返回指定目录中文件的名称(包括其路径)。返回值是string[]。
GetFileSystemEntries(String)返回指定路径中的所有文件和子目录的名称。返回值是string[]。
EnumerateFiles(String)返回指定路径中的完整文件名的可枚举集合。与GetFiles类似,但返回的是IEnumerable<string>集合。
EnumerateDirectories(String)返回指定路径中的目录完整名称的可枚举集合。与GetDirectories类似,但返回的是IEnumerable<string>集合。
EnumerateFileSystemEntries(String)返回指定路径中的文件名和目录名的可枚举集合。与GetFileSystemEntries类似,但返回的是IEnumerable<string>集合。
Move(String, String)将文件或目录及其内容移到新位置。

CreateDirectory,在指定路径创建一个目录。如果该目录已存在,则此方法不会创建新目录,但会返回现有目录的 DirectoryInfo 对象。

DirectoryInfo directoryInfo = Directory.CreateDirectory(@"D:TestFold");

Delete,含有两个重载方法,

Delete(String),删除空目录,目录必须存在且为空(不包含任何文件及文件夹),否则都会报错。

Directory.Delete(@"D:TestFold");

Delete(String, Boolean),bool值表示是否删除该目录中的所有子目录和文件。

Directory.Delete(@"D:TestFold",true);

Exists,确定指定路径的目录是否存在。

bool isExist = Directory.Exists(@"D:TestFold");
Console.WriteLine(isExist);

GetDirectories,有三个重载方法,返回指定目录的子目录。

GetDirectories(String)

 string[] fold = Directory.GetDirectories(@"D:");
 foreach (var item in fold)
 {
     Console.WriteLine(item);
 }

GetDirectories(String, String):包含匹配模式。第二个参数可以包含有效文本和通配符的组合,但不支持正则表达式

string[] fold = Directory.GetDirectories(@"D:","PRO*");
foreach (var item in fold)
{
    Console.WriteLine(item);
}

GetDirectories(String, String, SearchOption):第三个参数是枚举类型,指定是否搜索所有子目录。

string[] fold = Directory.GetDirectories(@"D:GDAL","*",SearchOption.AllDirectories);
foreach (var item in fold)
{
    Console.WriteLine(item);
}

GetCurrentDirectory:获取当前工作目录。

string currentDir = Directory.GetCurrentDirectory();
Console.WriteLine(currentDir);

GetFiles:返回指定目录文件名的数组,有三个重载方法,与GetDirectories相似。

GetFiles(String):返回指定目录下所有文件的文件名数组。

string[] files = Directory.GetFiles(@"D:");
foreach (var item in files)
{
     Console.WriteLine(item);
}

GetFiles(String, String)返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。第二个参数可以包含有效文本路径和通配符(* 和 ?)的组合,但不支持正则表达式

string[] files = Directory.GetFiles(@"D:","*.mkv");
foreach (var item in files)
{
    Console.WriteLine(item);
}

GetFiles(String, String, SearchOption):第三个参数是枚举类型,表示是否搜索所有子目录。

string[] files = Directory.GetFiles(@"K:电影","*.mkv",SearchOption.AllDirectories);
foreach (var item in files)
{
     Console.WriteLine(item);
}

GetFileSystemEntries:返回指定路径中的所有文件和子目录的名称。三个重载方法与上面类似,不赘述。

EnumerateFiles,返回文件名的IEnumerable<string>集合。三个重载方法与上面类似。

IEnumerable<string> enumDir = Directory.EnumerateFiles(@"D:");
            foreach (var item in enumDir)
            {
                Console.WriteLine(item);
            }

EnumerateDirectories:返回目录的IEnumerable<string>集合。三个重载方法与上面类似。

EnumerateFileSystemEntries:返回目录及文件名的IEnumerable<string>集合。三个重载方法与上面类似。

Move:将文件或目录移动到新位置。两个参数必须一致,即均为文件名或均为文件目录。若新目录已存在会报异常。



扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:http://lovedm.club/?id=46

分享给朋友:

“C# 与文件相关的几个类(2)” 的相关文章

C# WPF程序 显示时间

C# WPF程序 显示时间

例子来源于此视频https://www.bilibili.com/video/av1422127?p=4 此例子是想说明有的类主要使用它的事件namespace Wpf_test {     /// <summary> &...

C#的类型系统

C#的类型系统

C#的五大数据类型:    类(Class)    结构体(Structures)    枚举(Enumerations)    接口(In...

C# 使用不安全的代码

首先需要在 项目->属性->生成 中勾选允许不安全代码下面的代码使用了指针,通过指针修改结构体的成员namespace _20200320 {     class Program   &nbs...

C# 中左移运算

C# 中左移运算

将一个数换算成二进制,整体向左移动指定的位数。如:7的二进制在Int32中二进制表达为:00000000 00000000 00000000 00000111将其左移一位则变为:00000000 00000000 00000000 00001110若移位后超出最大位数,则超出部分舍掉,如:Int32...

C# 委托

C# 委托

Action和Func是.NET类库的内置委托,以简便使用。Func有17个重载还可以使用delegate关键字创建委托下面的代码展示了这三种使用委托的方法namespace _20200327 {     public delegat...

C# 泛型委托

C# 泛型委托

虽然没有必要,但是还是先看看自定义的泛型委托:namespace _20200402 {     class Program     {     &nb...