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

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

admin4年前 (2020-05-10)代码相关4319

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://lovedm.club/?id=46

分享给朋友:

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

C# try-catch处理异常

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

C#事件_Sample_2

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

C#事件_Sample_3

事件的拥有者同时是事件的响应者using System; using System.Windows.Forms; /// <summary> /// 事件的拥有者同时是事件的响应者 /// </summary> na...

C# 泛型委托

C# 泛型委托

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

C# 测量运行时间

使用Stopwatch类进行运行时间的监测要使用 System.Diagnostics 命名空间方法表 4Reset()停止时间间隔测量,并将运行时间重置为零。Restart()停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。Start()开始或继续测量某个时间间隔的运行时间。...

C# 使用FileStream进行文件复制操作

使用文件流进行操作,如下,其中注释部分是和非注释部分一样的,但是使用using语句是执行完后自动释放内存,而注释部分是手动释放。CopyFile方法中,缓冲区大小设为1024*1024字节,也就是1MB,Read方法和Write方法中,第一个参数都是缓冲区数组,第二个参数都是偏移量,这个量是在缓冲区...