荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Mic (酷鱼), 信区: DotNET
标  题: How to copy a directory in C#
发信站: 荔园晨风BBS站 (Tue Sep 24 14:21:35 2002), 站内信件

http://sunrise.szu.edu.cn
mic. 24/Sep./02

   C#/VB.net没有提供直接目录拷贝的方法(Move( )就有)
不过我们自己动手可以写一个。以往我们写这类函数不外乎
这几种方法:
1、直接调用API
2、调用外部命令(copy)

   其实.net framework为我们提供了很大的便利,使用
System.IO namespace下面的几个类很轻松就可以写个目录
对拷出来,代码如下。有兴趣的朋友可以稍做改进,写个
xcopy.exe出来。

/// <summary>
/// 拷贝目录
/// </summary>
/// <param name="srcName">源目录</param>
/// <param name="tarName">目标目录</param>
public void DirectoryCopy(string srcName, string tarName)
{
        DirectoryInfo __di = new DirectoryInfo(srcName);

        foreach(FileSystemInfo __fsi in __di.GetFileSystemInfos())
        {
                string __tarName = Path.Combine(tarName, __fsi.Name);

                //如果是目录,先创建一个一样的目标目录
                //再递归调用DirectoryCopy方法
                if(__fsi is DirectoryInfo)
                {
                        Directory.CreateDirectory(__tarName);
                        DirectoryCopy(__fsi.FullName, __tarName);
                }
                else
                {
                        //如果是文件则Copy之
                        File.Copy(__fsi.FullName, __tarName);

                }
        }
}

--
你“唰”的一声抽出一个饭盒握在手中.
>kill da chu
你对大厨喝道:“臭贼!今天不是你死就是我活!放聪明点给我四两!”
看起来大厨似乎想杀死你!
你往南落荒而逃了。
仓皇之间,你丢下一张金龙卡。

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.52.230]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店