c#中文件的复制

文件的复制
private void CopyDirectory(string srcPath, string destPath)
        {
            try
            {
                DirectoryInfo dir = new DirectoryInfo(srcPath);
                FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();  //获取目录下(不包含子目录)的文件和子目录
                foreach (FileSystemInfo i in fileinfo)
                {
                    if (i is DirectoryInfo)     //判断是否文件夹
                    {
                        if (!Directory.Exists(destPath + "\\" + i.Name))
                        {
                            Directory.CreateDirectory(destPath + "\\" + i.Name);   //目标目录下不存在此文件夹即创建子文件夹
                            listBox1.Items.Add(destPath + "\\" + i.Name);                           
                        }
                        CopyDirectory(i.FullName, destPath + "\\" + i.Name);    //递归调用复制子文件夹
                       progressBar1.Value += 20;
                    }
                    else
                    {
                        File.Copy(i.FullName, destPath + "\\" + i.Name, true);      //不是文件夹即复制文件,true表示可以覆盖同名文件
                        listBox1.Items.Add(destPath + "\\" + i.Name);
                        progressBar1.Value += 20;
                    }                  
                }
            }
            catch (Exception e)
            {
                throw;
            }
        }
调用:
 CopyDirectory(@"D:\1", @"D:\2");

猜你喜欢

转载自blog.csdn.net/hu123456__/article/details/80595480