Directory.GetFiles 方法

Directory.GetFiles 方法是在System.IO命名空间中提供的一个静态方法,用于获取指定目录中与指定搜索模式匹配的文件的全部路径,返回一个字符串类型的数组。该方法的语法如下:

```

public static string[] GetFiles(string path, string searchPattern);

public static string[] GetFiles(string path, string searchPattern,

SearchOption searchOption);

```

其中,path参数表示要搜索的目录的路径,searchPattern参数表示用于匹配文件名称的搜索模式,支持通配符"*"和"?"。searchOption参数表示搜索是应该在当前目录中搜索还是应该搜索当前目录中的子目录。

下面来详细介绍一下Directory.GetFiles方法的使用方法和一些案例说明。

使用方法

首先需要引入System.IO命名空间:

```

using System.IO;

```

然后可以使用Directory.GetFiles方法获取指定目录中与指定搜索模式匹配的文件:

```

string[] files = Directory.GetFiles("D:\\test", "*.txt");

foreach (string file in files)

{

Console.WriteLine(file);

}

```

上面的代码会获取D:\test目录中所有扩展名为".txt"的文件,并输出它们的路径。

如果希望在当前目录中搜索指定的文件,可以使用如下代码:

```

string[] files = Directory.GetFiles(".", "log*.txt");

foreach (string file in files)

{

Console.WriteLine(file);

}

```

上面的代码会获取当前目录中文件名以"log"开头且扩展名为".txt"的文件,并输出它们的路径。

如果希望在当前目录及其子目录中搜索指定的文件,可以使用如下代码:

```

string[] files = Directory.GetFiles(".", "*",

SearchOption.AllDirectories);

foreach (string file in files)

{

Console.WriteLine(file);

}

```

上面的代码会获取当前目录及其子目录中的所有文件,并输出它们的路径。

案例说明

1. 统计文件夹下的文件个数和文件总大小

下面的代码可以用于统计指定文件夹下的文件个数和文件总大小:

```

string path = "D:\\test";

int fileCount = 0;

long totalSize = 0;

foreach (string file in Directory.GetFiles(path, "*",

SearchOption.AllDirectories))

{

FileInfo info = new FileInfo(file);

fileCount++;

totalSize += info.Length;

}

Console.WriteLine("File Count: {0}", fileCount);

Console.WriteLine("Total Size: {0} bytes", totalSize);

```

上面的代码会获取D:\test目录及其子目录下的所有文件,统计它们的个数和总大小,并输出结果。

2. 批量重命名文件

下面的代码可以用于批量重命名指定文件夹下的文件:

```

string path = "D:\\test";

int count = 0;

foreach (string file in Directory.GetFiles(path, "*",

SearchOption.AllDirectories))

{

string oldName = Path.GetFileName(file);

string newName = "new_" + oldName;

string newPath = Path.Combine(Path.GetDirectoryName(file), newName);

File.Move(file, newPath);

count++;

}

Console.WriteLine("{0} files have been renamed.", count);

```

上面的代码会获取D:\test目录及其子目录下的所有文件,将它们的名称加上"new_"前缀,然后将它们重命名为新的名称,并输出已重命名文件数量。

总结

本文介绍了Directory.GetFiles方法的使用方法和一些案例说明。该方法可以用于获取指定目录中与指定搜索模式匹配的文件的全部路径,能够方便地处理文件操作。需要注意的是,该方法返回的文件路径包括文件名和扩展名。如果只想获取文件名或扩展名等信息,可以使用其他相关方法,如Path.GetFileName方法和Path.GetExtension方法等。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(18) 打赏

评论列表 共有 1 条评论

雨落雨兮 1年前 回复TA

我拜托你,不要再出来吓人了,要不然这世界就要被灭亡了。

立即
投稿
发表
评论
返回
顶部