文件Copy有以下几种方法:

1.Copy

  1. string sourceFile = @"c:\temp\New Text Document.txt";
  2. string destinationFile = @"c:\temp\test.txt";
  3. bool isrewrite=true; // true=覆盖已存在的同名文件,false则反之
  4. System.IO.File.Copy(sourcePath, targetPath, isrewrite);

2.CopyTo

  1. string sourceFile = @"c:\temp\New Text Document.txt";
  2. string destinationFile = @"c:\temp\test.txt";
  3. FileInfo file = new FileInfo(sourceFile);
  4. if (file.Exists)
  5. {
  6.     // true is overwrite
  7.     file.CopyTo(destinationFile, true);
  8. }

3.使用文件流读写来实现Copy

  1. #region 拷贝操作
  2. private void button3_Click(object sender, EventArgs e)
  3. {
  4.     OpenFileDialog ofd = new OpenFileDialog();
  5.     DialogResult res = ofd.ShowDialog();
  6.     if (res == DialogResult.OK)
  7.     {
  8.         if (!string.IsNullOrEmpty(ofd.FileName))
  9.         {
  10.             //1.创建读入文件流对象
  11.             FileStream streamRead = new FileStream(ofd.FileName, FileMode.Open);
  12.             //2.创建1个字节数组,用于接收文件流对象读操作文件值
  13.             byte[] data = new byte[ * ];//1M
  14.             int length = ;
  15.             SaveFileDialog sfd = new SaveFileDialog();
  16.             DialogResult sres = sfd.ShowDialog();
  17.             if (sres == DialogResult.OK)
  18.             {
  19.                 if (!string.IsNullOrEmpty(ofd.FileName))
  20.                 {
  21.                     FileStream streamWrite = new FileStream(sfd.FileName, FileMode.Create);
  22.                     do
  23.                     {
  24.                         //3.文件流读方法的参数1.data-文件流读出数据要存的地方,2. 0--从什么位置读,3. data.Length--1次读多少字节数据
  25.                         //3.1 Read方法的返回值是一个int类型的,代表他真实读取 字节数据的长度,
  26.                         length = streamRead.Read(data, , data.Length);//大文件读入时候,我们定义字节长度的可能会有限,如果文件超大,要接收文件流对象的Read()方法,会返回读入的实际长度
  27.                         //加密 和解密
  28.                         for (int i = ; i < length; i++)
  29.                         {
  30.                              data[i] = (byte)( - data[i]);
  31.                         }
  32.                             streamWrite.Write(data, , length);
  33.                     } while (length == data.Length); //如果实际写入长度等于我们设定的长度,有两种情况1.文件正好是我们设定的长度2.文件超大只上传了截取的一部分
  34.                 }
  35.             }
  36.         }
  37.     }
  38. }
  39. #endregion   

本文引自:http://www.cnblogs.com/WarBlog/p/5826778.html

C# 文件Copy的更多相关文章

  1. 文件Copy和文件夹Copy

    文件Copy和文件夹Copy using System.Collections.Generic; using System.Linq; using System.Text; using System. ...

  2. hadoop搭建杂记:Linux下不同linux主机之间文件copy的scp命令

    不同的Linux之间copy文件常用有3种方法: 不同的Linux之间copy文件常用有3种方法: ①ftp 就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的程序来进行文件 ...

  3. C# 文件copy和文件删除

    C# 文件copy和文件删除 public bool CopyFile(string SourcePath, string CopyPathFoder) { bool bfg = false; if ...

  4. 将mdf文件copy到docker对应的目录下

    将mdf文件copy到docker对应的目录下: (<Docker-Container ID> 需要整体替换) docker cp /Users/Jay/Works/db/MyPost.m ...

  5. Java 实现文件上传、下载、打包、文件copy、文件夹copy。

    文件and文件夹copy package org.test; import java.io.*; public class FileCopy { /** * 复制单个文件 * * @param old ...

  6. 用shell脚本挂载linux主机拷贝相应文件copy.sh

    #!/bin/sh # $1 MOUNTDIR $2 TARGETDIR $3 ERRORLOG #参数检查 if test $# -ne 3 then echo "argument che ...

  7. PostgreSQL:Java使用CopyManager实现客户端文件COPY导入

    在MySQL中,可以使用LOAD DATA INFILE和LOAD DATA LOCAL INFILE两种方式导入文本文件中的数据到数据库表中,速度非常快.其中LOAD DATA INFILE使用的文 ...

  8. shutil模块(高级的文件copy)

    import shutil import os f1 = open('本节笔记.txt', encoding = 'utf-8') f2 = open('笔记2', 'w', encoding = ' ...

  9. NetworkShareAccesser: 远程PC1 文件 copy 到PC2 文件夹

    Usage: string strRepoBundlePath = @"\\at1-repo01\ATE\Bundles\SharePoint\Open\denyopen.zip" ...

随机推荐

  1. UI Recorder 功能详解

    前言: UI Recorder安装教程见:UI Recorder 安装教程(一).UI Recorder 安装教程(二) 本次着重介绍UI Recorder录制过程中的功能按钮:添加悬停,添加断言,使 ...

  2. PAT甲题题解-1016. Phone Bills (25)-模拟、排序

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789229.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  3. PAT甲题题解-1025. PAT Ranking (25)-排序

    排序,求整体的排名和局部的排名整体排序,for循环一遍同时存储整体目前的排名和所在局部的排名即可 #include <iostream> #include <cstdio> # ...

  4. linux内核分析第三次实验

    http://blog.sina.com.cn/s/blog_78e559950102wo67.html

  5. ELK 性能(2) — 如何在大业务量下保持 Elasticsearch 集群的稳定

    ELK 性能(2) - 如何在大业务量下保持 Elasticsearch 集群的稳定 介绍 如何在大业务量下保持 Elasticsearch 集群的稳定? 内容 当我们使用 Elasticsearch ...

  6. 组件 --BreadCrumb--面包屑

    面包屑组件多用于导航栏,对于大型网站,做面包屑导航栏 .breadcrumb .breadcrumb-item .active:表示现在正处在该页面 效果截图: 代码: <nav> < ...

  7. 利用Attribute和IErrorHandler处理WCF全局异常

    在处理WCF异常的时候,有大概几种方式: 第一种是在配置文件中,将includeExceptionDetailInFaults设置为true <behavior name="servi ...

  8. Ubuntu 16.04搭建LAMP开发环境

    基本设置 1.配置网络环境 管理员给分配了一个静态IP,所以还需要进一步配置网络环境 配置DNS:右上角网络连接->编辑链接->有线连接1->IPv4设置->DNS服务器:20 ...

  9. kubernetes1.8开启swagger-ui

    现在的版本默认只开启了6443安全端口,需要证书验证才能访问api,实现起来稍微有点麻烦,这里提供一个简单的方法. 先来看看官方说明: Complete API details are documen ...

  10. idea问题总结记录

    1.部署tomcat后,tomcat日志报错:java.lang.ClassNotFoundException 1.1 原因: tomcat虽然部署成功,但是并没有把本项目中访问服务器所需的类库加到W ...