热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

.NET创建、删除、复制文件夹及其子文件的实例方法

.NET创建、删除、复制文件夹及其子文件的实例方法,需要的朋友可以参考一下

代码如下:

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;


namespace WinFormsApp_OperateFileAndFolder

{

    public class OperateFileFolder

    {

        ///

        /// 创建文件夹

        ///

        public string CreateFolder(string argPath)

        {

            string returnStr = "";

            try

            {

                if (System.IO.Directory.Exists(argPath))

                {

                    returnStr = "该文件夹已经存在";

 

                    return returnStr;

                }

                else

                {

                    System.IO.DirectoryInfo dirinfo = System.IO.Directory.CreateDirectory(argPath);

                    returnStr = "成功创建该文件夹!创建时间为:" + System.IO.Directory.GetCreationTime(argPath);

                }

            }

            catch (Exception ee)

            {

                returnStr = "处理失败! 失败的原因是:" + ee.ToString();

            }

            return returnStr;

        }
        

        ///

        /// 递归删除文件夹及文件

        ///

        ///

        public void DeleteFolder(string dir)

        {

            //取消屏蔽 执行该方法后,可以保留根文件夹(仅删除目录下的所有子)

            //// 检查目标目录是否以目录分割字符结束如果不是则添加之

            //if (dir[dir.Length - 1] != Path.DirectorySeparatorChar)

            //    dir += Path.DirectorySeparatorChar;

 

            if (Directory.Exists(dir)) //如果存在这个文件夹删除之

            {

                foreach (string d in Directory.GetFileSystemEntries(dir))

                {

                    if (File.Exists(d))

                        File.Delete(d); //直接删除其中的文件

                    else

                        DeleteFolder(d); //递归删除子文件夹

                }

                Directory.Delete(dir); //删除已空文件夹

                Console.Write(dir + " 文件夹删除成功");

            }

            else

                Console.Write(dir + " 该文件夹不存在"); //如果文件夹不存在则提示

        }

         
        ///

        /// 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面

        /// 如果目标文件夹为只读属性就会报错。

        ///

        public static void CopyDir(string srcPath, string aimPath)

        {

            try

            {

                // 检查目标目录是否以目录分割字符结束如果不是则添加之

                if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)

                    aimPath += Path.DirectorySeparatorChar;

                // 判断目标目录是否存在如果不存在则新建之

                if (!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);

                // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组

                // 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法

                // string[] fileList = Directory.GetFiles(srcPath);

                string[] fileList = Directory.GetFileSystemEntries(srcPath);

                // 遍历所有的文件和目录

                foreach (string file in fileList)

                {

                    // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件

                    if (Directory.Exists(file))

                        CopyDir(file, aimPath + Path.GetFileName(file));

                    // 否则直接Copy文件

                    else

                        File.Copy(file, aimPath + Path.GetFileName(file), true);

                }

            }

            catch (Exception e)

            {

                System.Windows.Forms.MessageBox.Show(e.ToString());

            }

        }


    }

}
 


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 如何在联想win10专业版中修改账户名称
    本文介绍了在联想win10专业版中修改账户名称的方法,包括在计算机管理中找到要修改的账户,通过重命名来修改登录名和属性来修改显示名称。同时指出了windows10家庭版无法使用此方法的限制。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
author-avatar
手机用户2602918323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有