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#创建windows系统用户的方法

    下面是关于C#创建Windows系统用户的方法的完整攻略。 1.准备工作 在使用C#创建Windows系统用户之前,需要引入System.DirectoryServices.AccountManagement和System.Security.Principal两个命名空间。 using System.DirectoryServices.AccountMana…

    C# 2023年6月7日
    00
  • 实现ASP.NET无刷新下载并提示下载完成的开发思路

    实现ASP.NET无刷新下载并提示下载完成需要以下步骤: 在后端代码中,设置相应的请求响应头,使得浏览器能够正确识别并下载文件。同时需要根据用户的请求生成相应的文件流,以供下载。 示例代码: // 根据请求获取文件名 string fileName = Request["file"]; // 读取文件流 FileStream fileSt…

    C# 2023年5月31日
    00
  • 详细分析ASP.NET Razor之C# 变量

    ASP.NET Razor是一种在.NET平台上构建Web应用程序的技术,其模板引擎支持C#编程,并提供了一些方便的快捷语法来简化代码书写。本文将详细讲解ASP.NET Razor之C#变量的使用方法以及示例说明。 1. 声明变量 在Razor模板中,可以使用@符号来声明一个C#变量,并将其输出到HTML。例如: @{ var name = "Al…

    C# 2023年6月3日
    00
  • Python集成C#实现界面操作下载文件功能的全过程

    下面我将详细讲解如何使用Python集成C#程序实现界面操作下载文件的全过程。 准备工作 在开始之前我们需要做一些准备工作: 安装 Python 和 .NET Framework (C#程序需要运行在.NET环境下) 安装 Python 通过.NET控制C#程序的模块 pythonnet 编写C#程序,实现下载文件的功能 编写 Python 程序界面,通过调…

    C# 2023年5月15日
    00
  • 使用ASP.NET中关于代码分离的实例分享

    使用ASP.NET进行代码分离是一种将业务逻辑和UI分开的一种重要方式。这种方式能够提高代码的可读性和可维护性。 下面是ASP.NET中关于代码分离的实例分享: 步骤1:创建项目和布局 打开Visual Studio并创建一个ASP.NET MVC项目。 在此项目中,创建一个名为“Controllers”的文件夹。 在“Controllers”文件夹下创建一…

    C# 2023年5月31日
    00
  • C#中FileSystemWatcher的使用教程

    我将详细讲解如何使用C#中的FileSystemWatcher来监听文件系统的改变。本教程将包含以下内容: 简介:FileSystemWatcher是什么以及如何使用它 监听文件夹和文件变化的方式 示例说明 1. 简介 FileSystemWatcher是.NET Framework中的一个类,它以异步的方式监听文件和目录的变化。它可以监控以下变化: 文件或…

    C# 2023年5月31日
    00
  • 用C#在本地创建一个Windows帐户(DOS命令)

    创建Windows本地账户可使用 net user命令,该命令可以在DOS命令窗口中运行,也可以使用程序语言编写的命令执行器来执行。 以下是创建一个Windows本地账户的完整攻略: 1. 打开命令提示符 在开始菜单中找到并打开”命令提示符”,或者在开始菜单中键入”cmd”并按回车键。将打开命令提示符窗口。 2. 运行net user命令 在命令提示符窗口中…

    C# 2023年6月7日
    00
  • C#数组的常用操作方法小结

    以下是C#数组的常用操作方法小结的详细攻略: 数组概述 数组是一种存储相同类型数据的集合。在C#中,声明数组时需要指定数组的类型和长度。数组的下标从0开始,最大下标为长度减1。 int[] nums = new int[5]; // 声明一个长度为5的int类型数组 常用操作方法 1. 数组的遍历 遍历数组是一个常见的操作,可以使用C#的for循环遍历数组元…

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