有时候C#递归方法复制文件夹是我们需要实现的功能,那么如何实现呢,C#递归方法在这里是如何办到的呢?这里的实例演示了用递归的方法复制指定文件夹下所有文件(包括子文件夹)到指定位置。
C#递归方法复制文件夹实例:
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Web;
- using System.Web.SessionState;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.HtmlControls;
- using System.IO ;
- namespace temp3
- {
- ///
- /// WebForm1 的摘要说明。
- /// C#递归方法复制文件夹
- public class WebForm1 : System.Web.UI.Page
- {
- protected System.Web.UI.WebControls.Button Button1;
- private void Page_Load(object sender, System.EventArgs e)
- {
- // 在此处放置用户代码以初始化页面
- }
- #region Web 窗体设计器生成的代码
- override protected void OnInit(EventArgs e)
- {
- //C#递归方法复制文件夹
- // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
- //
- InitializeComponent();
- base.OnInit(e);
- }
- ///
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// C#递归方法复制文件夹
- private void InitializeComponent()
- {
- this.Button1.Click += new System.EventHandler(this.Button1_Click);
- this.Load += new System.EventHandler(this.Page_Load);
- }
- #endregion
- private void Button1_Click(object sender, System.EventArgs e)
- {
- CopyFiles(@"D:\PCT",@"E:\PCT");
- }
- private void CopyFiles(
- string varFromDirectory,string varToDirectory)
- {
- Directory.CreateDirectory(varToDirectory);
- if(!Directory.Exists(varFromDirectory)) return;
- string[] directories =
- Directory.GetDirectories(varFromDirectory);
- if(directories.Length > 0)
- {
- foreach(string d in directories)
- {
- CopyFiles(d,varToDirectory +
- d.Substring(d.LastIndexOf("\\")));
- }
- }
- //C#递归方法复制文件夹
- string[] files = Directory.GetFiles(varFromDirectory);
- if(files.Length > 0)
- {
- foreach(string s in files)
- {
- File.Copy(s,varToDirectory +
- s.Substring(s.LastIndexOf("\\")));
- }
- }
- }
- }
- }
C#递归方法复制文件夹的具体实现就向你介绍到这里,希望对你了解和学习C#递归方法有所帮助。
【编辑推荐】