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

针对“c# 遍历获取所有文件的示例代码”的完整攻略,我将通过以下几个步骤详细说明。

1. 确定遍历目标

在编写代码之前,需要先明确需要遍历的目标文件夹。可以通过以下方式获取目标文件夹路径,此处以桌面为例:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);  
string targetPath = Path.Combine(desktopPath, "targetFolder");  

上述代码首先获取了用户桌面目录,然后利用 Path 类的 Combine 方法拼接出目标文件夹路径。

2. 获取目标文件夹下所有文件

在获取文件列表之前,需要判断目标文件夹是否存在,否则就无法完成遍历操作,代码如下:

if (!Directory.Exists(targetPath))  
{  
    Console.WriteLine("文件夹不存在,请检查路径!");  
    // 在此处可以抛出异常进行处理,代码略  
}

如果目标文件夹存在,那么可以使用 Directory.GetFiles 方法获取文件列表,如下所示:

var files = Directory.GetFiles(targetPath, "*.*", SearchOption.AllDirectories);  
foreach (var fileName in files)  
{  
    Console.WriteLine(fileName);  
}

其中,*.* 参数表示获取目标文件夹下所有类型的文件,SearchOption.AllDirectories 则表示在子目录中继续搜索,遍历整个目录树。最后利用 foreach 循环遍历文件列表,并将每个文件名输出到控制台上。

示例说明

以上就是获取目标文件夹下所有文件的示例代码,通过以上代码可以获取目标文件夹下所有文件的路径信息。如果想进一步操作这些文件,可以针对 fileName 所表示的文件路径进行相应的操作。

下面给出两个具体的使用示例。

示例1:统计文件类型个数

假设现在需要统计目标文件夹下所有类型文件的个数,可以通过以下代码实现:

Dictionary<string, int> dict = new Dictionary<string, int>();  
foreach (var file in files)  
{  
    string ext = Path.GetExtension(file);  
    if (dict.ContainsKey(ext))  
    {  
        dict[ext]++;  
    }  
    else  
    {  
        dict[ext] = 1;  
    }  
}

foreach (var item in dict)  
{  
    Console.WriteLine("{0}类型共有{1}个文件", item.Key, item.Value);  
}

以上代码定义了一个 Dictionary 对象,用于存储各个文件类型的数量,然后在遍历文件列表时,从每个文件的路径中提取出文件扩展名,并根据扩展名判断是否在 Dictionary 对象中已经存在,如果存在就把对应的计数器加1,否则就新建计数器并赋初值1。最后遍历 Dictionary 对象,输出每个文件类型对应的文件数量。

示例2:复制目标文件夹下所有图片文件

假设现在需要将目标文件夹下所有的图片文件复制到另一个目录中,可以通过以下代码实现:

string destPath = Path.Combine(desktopPath, "copyFolder");
if (!Directory.Exists(destPath))
{
    Directory.CreateDirectory(destPath);
}

foreach (var file in files)
{
    string ext = Path.GetExtension(file);
    if (ext.Equals(".jpg") || ext.Equals(".png") || ext.Equals(".bmp"))
    {
        string destFile = Path.Combine(destPath, Path.GetFileName(file));
        File.Copy(file, destFile, true);
    }
}

以上代码首先判断目标文件夹是否已经存在,如果不存在就创建一个新的文件夹。然后遍历文件列表,判断每个文件是否属于图片文件(这里假设 .jpg.png.bmp 文件都是图片文件),如果是就将该文件复制到目标文件夹下。这里调用了 File.Copy 方法进行文件复制,其中 true 表示如果目标文件夹下已经存在同名文件,就覆盖原文件。通过上述操作,就可以将目标文件夹下的所有图片文件复制到新的文件夹中。

以上就是两个具体的示例说明,具体操作根据需求进行调整即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 遍历获取所有文件的示例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 浅谈C#中对引用类型的误解

    以下是浅谈C#中对引用类型的误解的完整攻略: 引言 在C#中,我们通常会面对值类型和引用类型两种不同类型的数据。引用类型在代码中使用得非常广泛,但是对于一些新手开发者来说,他们可能会对引用类型有一些误解,比如认为引用类型是深拷贝,或者不用关心内存等问题。本文将介绍这些误解,并分享一些关于引用类型的实用技巧。 误解一:认为引用类型是深拷贝 在C#中,引用类型存…

    C# 2023年6月7日
    00
  • 深入浅析C# 11 对 ref 和 struct 的改进

    深入浅析C# 11 对 ref 和 struct 的改进 简介 C# 11 是微软新推出的一项编程语言的更新版本,其中包含了对于 ref 和 struct 的一些优化改进。此次改进旨在提高代码的运行效率并降低代码运行的堆内存的占用。为了能够更好地理解这些改进,需要先了解 ref 和 struct 的相关知识。 ref 和 struct 在 C# 中,ref …

    C# 2023年6月6日
    00
  • C#进程监控方法实例分析

    C#进程监控方法实例分析 本攻略将介绍如何在C#中实现进程监控。我们将介绍两种方法,一种是使用System.Diagnostics命名空间,另一种是使用WMI。 使用System.Diagnostics命名空间 第一步:引用命名空间 为了使用System.Diagnostics,我们必须在代码中引用该命名空间: using System.Diagnostic…

    C# 2023年6月6日
    00
  • C#编程实现自定义热键的方法

    当需要在 C# 中实现自定义热键的时候,可以借助 Windows API 中的 RegisterHotKey 函数来实现。以下是实现自定义热键的详细攻略。 步骤一:定义常量 在 C# 代码文件的顶部定义以下常量: public const int WM_HOTKEY = 0x0312; public const int MOD_ALT = 0x0001; p…

    C# 2023年6月6日
    00
  • Unity调用C++ dll实现打开双目相机

    Unity调用C++ dll实现打开双目相机需要以下几个步骤: 编写C++ dll文件 首先,我们需要编写C++ dll文件。C++ dll文件的作用是实现打开双目相机的操作,并将相机返回给Unity。在C++文件中需要定义一个函数来获取左右相机数据,并返回给C#脚本。以下是C++ dll文件的示例: #include<iostream> #in…

    C# 2023年6月7日
    00
  • c# 实现简单的串口通讯

    下面是详细讲解“c#实现简单的串口通讯”的完整攻略。 硬件准备 在进行串口通讯前,我们需要准备一些硬件设备,包括: 确保计算机中带有串口或者USB转串口的转接器。 一根串口线。 串口通讯设备(例如:单片机)。 环境配置 在进行串口通讯前,需要在电脑上安装串口通讯库,使用.NET的串口类即可实现串口通讯。在Visual Studio中,可以在工具箱中找到串口控…

    C# 2023年5月15日
    00
  • 武装你的WEBAPI-OData Versioning

    本文属于OData系列 目录 武装你的WEBAPI-OData入门 武装你的WEBAPI-OData便捷查询 武装你的WEBAPI-OData分页查询 武装你的WEBAPI-OData资源更新Delta 武装你的WEBAPI-OData之EDM 武装你的WEBAPI-OData常见问题 武装你的WEBAPI-OData使用Endpoint 武装你的WEBAP…

    C# 2023年5月5日
    00
  • 解析C#中[],List,Array,ArrayList的区别及应用

    下面我将详细讲解“解析C#中[], List, Array, ArrayList的区别及应用”的完整攻略。 []操作符 []操作符是C#语言中的数组索引操作符,用来获取数组中的元素。一个数组可以被看成是一个特殊的集合,它包含一组有相同类型的变量或对象。数组元素的下标是从0开始的,这意味着第一个元素的下标为0,第二个元素的下标为1,以此类推。 使用[]操作符访…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部