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);
                     }
                }
           }
     }
  • 相关阅读:
    性能测试基础篇
    Jmeter参数化
    斐波那契
    Web安全 概述
    HTTP 协议详解
    echarts 响应式布局
    vue 结合mint-ui Message box的使用方法
    vue 中使用iconfont Unicode编码线上字体图标的流程
    手机端@media的屏幕适配
    @media响应式的屏幕适配
  • 原文地址:https://www.cnblogs.com/zy-style/p/4259696.html
Copyright © 2011-2022 走看看