c#实现将一个文件夹中的所有文件复制到另一个文件夹,并在新文件夹中创建一个txt文件记录copy的文件综述以及文件名称...


using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
   
class Program
    {
       
static void Main( string [] args)
        {
           
// 实例化test类,用于调用该类中的copy函数
            test a = new test();
            a.copy(
" D:\\新建文件夹(2) " , " D:\\新建文件夹 " ); // 试验
        }
       
// test类的编写
        public sealed class test
        {
           
public test()
            {
            }
           
public void copy( string source, string destination) // source 是原文件夹的路径,destination是要复制到的目标文件夹路径
            {
               
// 调用文件夹复制函数
                test.CopyDirectory(source, destination);
               
// 将原文件夹里的内容写进目标文件夹下的"记录.txt"里
                StreamWriter writer = new StreamWriter(destination + " \\记录.txt " );
               
// Directory.GetFileSystemEntries() 可以得到指定目录包含子文件夹以及文件名字的字符串数组
                string [] names = Directory.GetFileSystemEntries(source);
               
// 历遍names数组,把原文件那些名字全写进去
                foreach ( string name in names)
                {
                    writer.WriteLine(name);
                }
                writer.Close();
            }
           
// 文件夹复制函数编写
            public static void CopyDirectory(String source, String destination)
            {
                DirectoryInfo info
= new DirectoryInfo(source);
               
foreach (FileSystemInfo fsi in info.GetFileSystemInfos())
                {
                   
// 目标路径destName = 目标文件夹路径 + 原文件夹下的子文件(或文件夹)名字
                   
// Path.Combine(string a ,string b) 为合并两个字符串
                    String destName = Path.Combine(destination, fsi.Name);
                   
// 如果是文件类,就复制文件
                    if (fsi is System.IO.FileInfo)
                        File.Copy(fsi.FullName, destName);
                   
// 如果不是 则为文件夹,继续调用文件夹复制函数,递归
                    else
                    {
                        Directory.CreateDirectory(destName);
                        CopyDirectory(fsi.FullName, destName);
                    }
                }
            }
        }
       
// CopyDirectory 这个函数是我引用别人的,写的很好就留下了,我只是在外面加了个把信息记录下来而已
    }
}

转载于:https://www.cnblogs.com/xiachufeng/archive/2010/08/07/1794631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值