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

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

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

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发布,如需转载请注明出处。

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

分享给朋友:

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

递归计算1到x的和

递归真是个神奇的东西,当时学C的时候就没搞明白,学C#又遇到例子了。        public int SumXTo1(int x)     &n...

C# try-catch处理异常

使用try-catch进行异常处理,下面是两个小例子:两个例子中没有写finally语句finally的作用是无论有无异常,finally下的语句都会执行。//简单的处理异常namespace _20200323 {     class ...

C# 委托

C# 委托

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

C#事件_Sample_1

事件模型的五个组成部分:1、事件的拥有者(event source,只能是对象或类)2、事件成员(event,成员)3、事件的响应者(event subscriber,对象)4、事件处理器(event handler,成员)--本质上是一个回调方法5、事件订阅--把事件...

C#事件_Sample_2

事件的拥有者与事件的响应者是分开的情况+=是事件订阅操作符,左边是事件,右边是事件处理器。using System; using System.Windows.Forms; /// <summary> /// 事件的拥有者和事件的响应者是...

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

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

C# 与文件访问相关的常用的类:File类、Directory类、Path类、FileInfo类、DirectoryInfo类、FileSystemInfo类、FileSystemWatcher类以上几个类均在System.IO命名空间下。挨个说吧:File类:静态类,只有静态方法,用于移...