C# 文件Copy

文件Copy有以下几种方法:

1.Copy

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

2.CopyTo

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

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

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

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

时间: 2024-10-29 04:19:00

C# 文件Copy的相关文章

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

不同的Linux之间copy文件常用有3种方法: 不同的Linux之间copy文件常用有3种方法: ①ftp 就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的程序来进行文件的copy. ②采用samba服务 就是类似Windows文件copy 的方式来操作,比较简洁方便. ③利用scp命令来进行文件复制. scp是安全机制的文件copy,基于ssh登录.操作起来比较方便,比如要把master机当前一个文件copy到slave1机上,可以如下命令. scp ./test

文件Copy和文件夹Copy

using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //源目录 string sourceDirectory = @"E:\\Program"; //目标目录 string destDirectory

linux主机之间文件copy

linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录: ================== scp 命令 ================== scp 可以在 2个 linux 主机间复制文件: 命令基本格式:        scp [可选参数] file_source file_target ====== 从 本地 复制到 远程 ====== * 复制文件:         * 命令格式:                 scp local_file [email p

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

Usage: string strRepoBundlePath = @"\\at1-repo01\ATE\Bundles\SharePoint\Open\denyopen.zip"; string strRemoteBundle = @"\\"+serverHostName+@"\c$\denyopen.zip"; using (NetworkShareAccesser.Access(serverHostName, domain, userNam

windows系统通过CMD将文件copy到远程电脑

在需要上传文件的电脑上使用管理员权限运行cmd,输入runas /user:administrator cmd 回车net share IPC$ net use \\IP地址\ipc$ password /user:username xcopy note.ejs \\IP地址\C$\clothes\views /Y net use \\IP地址\ipc$ /delete

Java 7 使用TWR(Try-with-resources)完成文件copy

try-with-resources语句是声明了一个或多个资源的try语句块.在java中资源作为一个对象,在程序完成后必须关闭.try-with-resources语句确保每个资源在语句结束时关闭.只要是实现了java.lang.AutoCloseable的任何对象(包括实现java.lang.Closeable的所有对象)都可以使用该方式对资源进行关闭. 在java 7之前,一般在进行文件IO操作时都需要显式的进行文件流(也可以理解为资源)的close操作,无论是操作到文件流末尾还是发生异常

Excel Macro宏 - 指定路径下两个TXT文件Copy后,导入Excel中并进行对比

由于Excel格式粘贴没时间,只写关键的VBA代码和TXT文档Format示例‘ Attribute VB_Name = "CopyAndDiffer" '2015/06/24 ADD By MAOUIZAYOI Option Explicit ' Excute Interface.Sub CopyAndDiffer() ' define variables    Dim ccnSht As Object       'ccnSht is named for current conso

copy命令及库文件至/mnt/sysroot/目录shell脚本

#!/bin/bash # #获取目标目录 target=/mnt/sysroot #命令copy函数 cmndcopy(){         #假如命令不存在,return 1         if ! which $1 &> /dev/null; then                 return 1         fi         #获取命令决定路径         cmnd=$(which --skip-alias $1)         #获取命令目录名         

sharepoint 2013 资源管理器copy大文件到本地失败解决方法

Error 0x800700DF: The file size exceeds the limit allowed and cannot be saved 中文错误信息是:文件大小超出同意范围.不能被保存. 解决方法,能够改动本地电脑注冊表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 找到FileSizeLimitInBytes值.改动其十进制为:4294967295 再又一次在sharepo