• C#文件Copy


    文件Copy有以下几种方法:

    1.Copy

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

     2.CopyTo

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

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

    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.文件超大只上传了截取的一部分
    
                    }
    
                }
    
            }
    
        }
    
    }
    
  • 相关阅读:
    window下cmd命令行的个人使用——集录
    前端之 —— node.js摸爬打滚之路(一)
    GIT常用命令以及作用【备忘】
    如何将Eclipse中的开源项目使用到Android Studio中
    2015读书目录
    Android4.0+锁屏程序开发——设置锁屏页面篇
    Android4.0+锁屏程序开发——按键屏蔽篇
    【光速使用开源框架系列】数据库框架OrmLite
    【光速使用开源框架系列】图片加载框架ImageLoader
    Android输入法部分遮挡UI的问题(与EditText框相切)
  • 原文地址:https://www.cnblogs.com/rosesmall/p/9051147.html
Copyright © 2020-2023  润新知