zoukankan      html  css  js  c++  java
  • 02-大文件Copy(FileStream文件流类)

    static void Main(string[] args)
    {
        string source = @"e:1.exe";//要移动文件的路径 大文件
        string target = @"f:1.exe";//将文件移动到的目标路径
        CopyFile(source, target);
        Console.ReadKey();
    }
    
    private static void CopyFile(string source, string target)
    {
        //1.创建一个读取文件的流
        using (FileStream fsRead = new FileStream(source, FileMode.Open))
        { 
           //2.创建一个写入文件的流
           using (FileStream fsWrite = new FileStream(target, FileMode.Create))
            { 
                //3.创建一个读取文件、写入文件的缓冲区
                byte[] buffer = new byte[1024 * 1024 * 10];//缓冲区大小为10M
                long fsLen = fsRead.Length;//获取源文件的总字节数
                while (true)//4.开始读取、写入文件
                {
                    //返回值r表示本次实际读取到的字节数 fsRead.Position属性表示当前流的位置
                    int r = fsRead.Read(buffer, 0, buffer.Length);
    
                    #region 文件加密操作 255-189 字节就会变,加入到的文件字节就变了
                    //for (int i = 0; i < buffer.Length; i++)
                    //{
                    //    buffer[i] = (byte)(Byte.MaxValue - buffer[i]);
                    //}
                    #endregion
    
                    if (r <= 0)//表示读取到了文件的末尾
                    {
                        break;
                    }
                    //如果r>0,则表示本次读取到了内容,将读取出来的buffer内容写入到fsWrite文件流中。
                    else 
                    {
                        fsWrite.Write(buffer, 0, r);//注意长度是 r
                        long lenAlready = fsWrite.Length;
                        double proc = (double)lenAlready / fsLen;
                        //double proc = (double)fsWrite.Position / len;
                        Console.WriteLine("拷贝进度:{0}%", proc * 100);
                     }
                }
           }
     }
  • 相关阅读:
    旋转数组的最小数字
    Redis常用方法
    用两个栈实现队列
    Spark1.4启动spark-shell时initializing失败
    从尾到头打印链表
    Hbase的安装(hadoop-2.6.0,hbase1.0)
    执行sh文件 进行MongoDB的业务逻辑导入
    Scala第二章学习笔记
    替换空格
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/zy-style/p/4259696.html
Copyright © 2011-2022 走看看