C#实现拷贝文件到另一个文件夹下

 更新时间:2023年01月25日 15:24:38   作者:熊思宇  
这篇文章主要介绍了C#实现拷贝文件到另一个文件夹下,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C#拷贝文件到另一个文件夹下

/// <summary>
/// 拷贝文件到另一个文件夹下
/// </summary>
/// <param name="sourceName">源文件路径</param>
/// <param name="folderPath">目标路径(目标文件夹)</param>
public void CopyToFile(string sourceName, string folderPath)
{
    //例子:
    //源文件路径
    //string sourceName = @"D:\Source\Test.txt";
    //目标路径:项目下的NewTest文件夹,(如果没有就创建该文件夹)
    //string folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NewTest");
 
    if (!Directory.Exists(folderPath))
    {
        Directory.CreateDirectory(folderPath);
    }
 
    //当前文件如果不用新的文件名,那么就用原文件文件名
    string fileName = Path.GetFileName(sourceName);
    //这里可以给文件换个新名字,如下:
    //string fileName = string.Format("{0}.{1}", "newFileText", "txt");
 
    //目标整体路径
    string targetPath = Path.Combine(folderPath, fileName);
 
    //Copy到新文件下
    FileInfo file = new FileInfo(sourceName);
    if (file.Exists)
    {
        //true 为覆盖已存在的同名文件,false 为不覆盖
        file.CopyTo(targetPath, true);
    }
}

注意方法内注释的用法,可以根据自己的需要更改。

C#文件搬运(从一个文件夹Copy至另一个文件夹)

时常我们会遇到文件的复制、上传等问题。特别是自动化生产方面,需要对机台抛出的档案进行搬运、收集,然后对资料里的数据等进行分析,等等。

Winform下,列举集中较常见的档案的搬运。

private void MoveFile()
        {
            string Frompath = @"D:\Test\OutPut";
            string directoryPath = @"D:\report";
            try
            {
                string[] picList = Directory.GetFiles(Frompath, "*.jpg"); //图片
                string[] txtList = Directory.GetFiles(Frompath, "*.txt"); //文本文件
                string[] pdfList = Directory.GetFiles(Frompath, "*.pdf");  //PDF文件

                foreach (string f in picList)
                {
                    //取得文件名.
                    string fName = f.Substring(Frompath.Length + 1);
                    File.Copy(Path.Combine(Frompath, fName), Path.Combine(directoryPath, fName), true);
                }
                foreach (string f in txtList)
                {
                    string fName = f.Substring(Frompath.Length + 1);
                    try
                    {
                        File.Copy(Path.Combine(Frompath, fName), Path.Combine(directoryPath, fName));
                    }
                    // 捕捉异常.
                    catch (IOException copyError)
                    {
                        MessageBox.Show(copyError.Message);
                    }
                }
                foreach (string f in pdfList)
                {
                    string fName = f.Substring(Frompath.Length + 1);
                    try
                    {
                        File.Copy(System.IO.Path.Combine(Frompath, fName), System.IO.Path.Combine(directoryPath, fName));
                    }
                    catch (IOException copyError)
                    {
                        MessageBox.Show(copyError.Message);
                        return;
                    }
                }
                //删除原始文件夹里的文件
                foreach (string f in txtList)
                {
                    File.Delete(f);
                }
                foreach (string f in picList)
                {
                    File.Delete(f);
                }
                foreach (string f in pdfList)
                {
                    File.Delete(f);
                }

            }
            catch (DirectoryNotFoundException dirNotFound)
            {
                MessageBox.Show(dirNotFound.Message);
            }
        }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#如何给word文档添加水印

    C#如何给word文档添加水印

    这篇文章主要为大家详细介绍了C#如何给word文档添加水印的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Unity的Console的控制类LogEntries深入解析与实用案例

    Unity的Console的控制类LogEntries深入解析与实用案例

    这篇文章主要为大家介绍了Unity的Console的控制类LogEntries深入解析与实用案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 浅谈c# 面向对象之类与对象

    浅谈c# 面向对象之类与对象

    这篇文章主要介绍了c# 面向对象的类与对象的相关知识,非常的浅显易懂,有需要的小伙伴参考下。
    2014-12-12
  • 基于C#实现一个最简单的HTTP服务器实例

    基于C#实现一个最简单的HTTP服务器实例

    这篇文章主要介绍了基于C#实现一个最简单的HTTP服务器的方法,详细分析了http服务器的实现原理与相关技巧,以及对应的注意事项,需要的朋友可以参考下
    2014-12-12
  • 详解C#应用程序如何实现多屏显示

    详解C#应用程序如何实现多屏显示

    这篇文章主要为大家详细介绍了C#如何实现把主屏运行程序中多个窗体移动到各个扩展屏幕位置显示,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-05-05
  • C#与PHP的md5计算结果不同的解决方法

    C#与PHP的md5计算结果不同的解决方法

    今天在用C#接入我的登录api发现了一个问题,登陆的时候无论如何都会出现用户名和密码错误的问题,后来通过查找排除找的了问题的原因是因为C#与PHP的md5计算结果不同导致的,下面就来看看如何解决这个问题吧。
    2016-12-12
  • Directory文件类的实例讲解

    Directory文件类的实例讲解

    下面小编就为大家分享一篇Directory文件类的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • C#事件访问器详解

    C#事件访问器详解

    C#事件访问器详细解析。下面示例演示了具有访问器的声明.两个访问器都有叫做value的隐式值参数,它接受实例或静态方法的引用
    2014-01-01
  • 基于C#中IDisposable与IEnumerable、IEnumerator的应用

    基于C#中IDisposable与IEnumerable、IEnumerator的应用

    本篇文章小编为大家介绍,基于C#中IDisposable与IEnumerable、IEnumerator的应用,需要的朋友参考下
    2013-04-04
  • C#实现的基于二进制读写文件操作示例

    C#实现的基于二进制读写文件操作示例

    这篇文章主要介绍了C#实现的基于二进制读写文件操作,结合具体实例形式分析了C#以二进制文件流形式针对文件进行读写操作的相关技巧,需要的朋友可以参考下
    2017-07-07

最新评论