首页 > 开发 > 综合 > 正文

复制文件夹所有内容和删除整个文件夹的2个函数

2024-07-21 02:16:11
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!

  // ======================================================
  // 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
  // 如果目标文件夹为只读属性就会报错。
  // april 18april2005 in stu
  // ======================================================
  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)
   {
    messagebox.show (e.tostring());
   }
  }


  // ======================================================
  // 实现一个静态方法将指定文件夹下面的所有内容detele
  // 测试的时候要小心操作,删除之后无法恢复。
  // april 18april2005 in stu
  // ======================================================
  public static void deletedir(string aimpath)
  {
   try
   {
    // 检查目标目录是否以目录分割字符结束如果不是则添加之
    if(aimpath[aimpath.length-1] != path.directoryseparatorchar)
     aimpath += path.directoryseparatorchar;
    // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
    // 如果你指向delete目标文件下面的文件而不包含目录请使用下面的方法
    // string[] filelist = directory.getfiles(aimpath);
    string[] filelist = directory.getfilesystementries(aimpath);
    // 遍历所有的文件和目录
    foreach(string file in filelist)
    {
     // 先当作目录处理如果存在这个目录就递归delete该目录下面的文件
     if(directory.exists(file))
     {
      deletedir(aimpath+path.getfilename(file));
     }
      // 否则直接delete文件
     else
     {
      file.delete (aimpath+path.getfilename(file));
     }
    }
    //删除文件夹
    system.io .directory .delete (aimpath,true);
   }
   catch (exception e)
   {
    messagebox.show (e.tostring());
   }
  }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表