• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#将文件复制到指定文件夹并整理

C#将文件复制到指定文件夹并整理

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了马桶c的个人空间,c语言,欲情 c max,维生素c,crh2c等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

下面是在C#中将文件复制(剪切是先复制再删除)到指定的路径,并按日期归档的一个简单实例。值得注意的2点是:

1)文件的路径是关键,程序中使用双斜杠\\

2)文件和文件夹的区别

private void DoWork()
{
   String dir="D:\\ABC"
   //创建备份文件夹,按时间命名  
   String bakDir = dir + "\\bak\\" + DateTime.Now.ToString("yyyy-MM-dd");
 
   if (Directory.Exists(bakDir) == false){
       Directory.CreateDirectory(bakDir);
   }
   string[] files = Directory.GetFiles(dir);
   if (files.Length != 0) {
      foreach (string file in files) {
      FileInfo fileinfo = new FileInfo(file);
      try{
        string fileName = file.Replace(dir, "");
        //备份文件
        File.Copy(file,Path.Combine(bakDir,fileName));
        File.Delete(file);
      }  
   }
}
</div>

附上其他网友的实现方法:

private void CopyDir(string srcPath, string aimPath)
 {
 
 try
 
 {
 
 // 检查目标目录是否以目录分割字符结束如果不是则添加
 
 if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
 
 {
 
 aimPath += System.IO.Path.DirectorySeparatorChar;
 
 }
 
 // 判断目标目录是否存在如果不存在则新建
 
 if (!System.IO.Directory.Exists(aimPath))
 {
 
 System.IO.Directory.CreateDirectory(aimPath);
 
 }
 
 // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
 
 // 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
 
 // string[] fileList = Directory.GetFiles(srcPath);
 
 string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
 
 // 遍历所有的文件和目录
 
 foreach (string file in fileList)
 
 {
 
 // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
 
 if(System.IO.Directory.Exists(file))
 
 {
 
 CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
 
 }
 
 // 否则直接Copy文件
 
 else
 
 {
 
 System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file),true);
 
 }
 
 }
 
 }
 
 catch(Exception e)
 {
 
 throw;
 
 }
 
 }
  }
</div>

完全可以不用递归实现,用广度优先算法可以节省栈空间

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
string sourcepath=@"C:\sourcedir";
Queue<FileSystemInfo> copyfolders = new Queue<FileSystemInfo>(new DirectoryInfo(sourcepath).GetFileSystemInfos());
string copytopath = @"C:\targetdir";
copytopath = (copytopath.LastIndexOf(Path.DirectorySeparatorChar) == copytopath.Length - 1) ? copytopath : (copytopath+Path.DirectorySeparatorChar) + Path.GetFileName(sourcepath);
Directory.CreateDirectory(copytopath);
while (copyfolders.Count>0)
{
  FileSystemInfo atom = opyfolders.Dequeue();
  FileInfo file = atom as FileInfo;
  if (file == null)
  {
    DirectoryInfo directory = atom as DirectoryInfo;
    Directory.CreateDirectory(directory.FullName.Replace(sourcepath,copytopath));
    foreach (FileSystemInfo fi in directory.GetFileSystemInfos())
      copyfolders.Enqueue(fi);
  }
  else
    file.CopyTo(file.FullName.Replace(sourcepath,copytopath));
}
</div>

以上所述就是本文的全部内容了,希望大家能够喜欢。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28C#中文件名或文件路径非法字符判断方法
  • 2017-05-28C#把整个文件内容读入字符串变量的方法
  • 2017-05-28一个可携带附加消息的增强消息框MessageBoxEx
  • 2017-05-28c#实现多线程局域网聊天系统
  • 2017-05-28浅解关于C#多线程的介绍
  • 2017-05-28c# winform时钟的实现代码
  • 2017-05-28C#实现改变DataGrid某一行和单元格颜色的方法
  • 2017-05-28C#使用动态规划解决0-1背包问题实例分析
  • 2017-05-28C#数组排序的两种常用方法
  • 2017-05-28C#用户定义类型转换详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#实现网页截图功能
    • c#生成excel示例sql数据库导出excel
    • c#代码自动修改解决方案下任意文件实例
    • C#定位txt指定行的方法小例子
    • C#实现操作MySql数据层类MysqlHelper实例
    • C#搜索文字在文件及文件夹中出现位置的方法
    • Microsoft Expression Web 简体中文正式版 官方下载地址
    • 关于C#.net winform程序验证moss的集成身份认证实例
    • C#把UNICODE编码转换为GB编码的实例
    • C#中事务处理和非事务处理方法实例分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有