c# 遍历获取所有文件的示例代码

C#是一种面向对象的编程语言,它支持文件和文件夹的操作。在本文中,我将展示使用C#遍历获取所有文件的示例代码,并提供详细的解释和代码示例。

1. 获取指定文件夹下的所有文件

首先,我们需要指定要遍历的文件夹路径。在C#中,可以使用`Directory.GetFiles`方法来获取指定文件夹下的所有文件。

下面是一个示例代码,可以获取指定文件夹下的所有文件路径:

```csharp

string folderPath = "C:\\FolderName";

string[] files = Directory.GetFiles(folderPath);

```

在上面的代码中,我们使用`Directory.GetFiles`方法获取`C:\FolderName`文件夹下的所有文件的路径。返回的结果是一个字符串数组,每个元素都是一个文件的路径。

获取文件的路径

获取路径后,我们可以遍历文件并对每个文件执行一些操作。让我们输出文件的路径,以便我们可以看到结果。

```csharp

foreach (string file in files)

{

Console.WriteLine("文件路径:" + file);

}

```

在上面的代码中,`foreach`循环遍历文件数组,并使用`Console.WriteLine`方法输出文件路径。

2. 获取指定文件夹及其子文件夹下的所有文件

有时候,我们不仅需要获取指定文件夹下的文件,还需要获取其子文件夹中的文件。在C#中,可以使用`Directory.GetFiles`方法的重载版本来实现。

下面是一个示例代码,可以获取指定文件夹及其子文件夹下的所有文件路径:

```csharp

string folderPath = "C:\\FolderName";

string[] files = Directory.GetFiles(folderPath, "*", SearchOption.AllDirectories);

```

在上面的代码中,我们使用`Directory.GetFiles`方法的重载版本,并将`SearchOption.AllDirectories`作为第三个参数传递给它。这将导致方法在指定文件夹及其子文件夹中搜索文件。

为文件添加操作

与上面的示例代码相同,我们可以在获取文件路径后为每个文件执行操作。下面是一个示例代码,可以输出每个文件的路径和大小:

```csharp

foreach (string file in files)

{

FileInfo fileInfo = new FileInfo(file);

Console.WriteLine("文件路径:" + file);

Console.WriteLine("文件大小:" + fileInfo.Length + " bytes");

// 添加其他操作代码

}

```

在上面的代码中,我们使用`FileInfo`类获取文件的更多信息。`Length`属性可以返回文件的大小(以字节为单位)。

3. 过滤文件类型

如果我们只想获取特定类型的文件,可以在遍历之前添加一个文件类型过滤器。在C#中,可以使用`SearchOption`枚举的`SearchOption`成员。

下面是一个示例代码,可以获取指定文件夹下的所有文本文件的路径:

```csharp

string folderPath = "C:\\FolderName";

string[] files = Directory.GetFiles(folderPath, "*.txt", SearchOption.TopDirectoryOnly);

```

在上面的代码中,我们将`"*.txt"`作为第二个参数传递给`Directory.GetFiles`方法,这将导致方法只返回`.txt`文件的路径。

添加更多过滤器

如果我们想要获取多种类型的文件,可以使用`|`(或)运算符将它们连接在一起。下面是一个示例代码,可以获取指定文件夹下的所有文本文件(.txt)和代码文件(.cs)的路径:

```csharp

string folderPath = "C:\\FolderName";

string[] files = Directory.GetFiles(folderPath, "*.txt|*.cs", SearchOption.TopDirectoryOnly);

```

在上面的代码中,我们将`"*.txt|*.cs"`作为第二个参数传递给`Directory.GetFiles`方法,这将导致方法只返回`.txt`和`.cs`文件的路径。

总结

在本文中,我们展示了使用C#遍历获取所有文件的示例代码,并提供了详细的解释和代码示例。我们学习了如何获取指定文件夹下的所有文件,包括子文件夹中的文件,并且了解了如何过滤特定类型的文件。希望这篇文章对你在C#中遍历获取文件有所帮助。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签