zoukankan      html  css  js  c++  java
  • [WPF 学习] 5. 1 版本升级之压缩和解压

    生成的单个文件的压缩率可达50%,忍不住要压缩一下,当然下载的时候也需要解压,我用的是GZipStream

    1.压缩

                string filePath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
                FileInfo fi = new FileInfo(filePath);
                using FileStream msSource = fi.OpenRead();
                using MemoryStream msTarget = new MemoryStream();
                using GZipStream compressionStream = new GZipStream(msTarget, CompressionMode.Compress);
                msSource.CopyTo(compressionStream);
                compressionStream.Flush();
    

    compressionStream.Flush();这很重要,否则msTarget.ToArray()会丢掉部分内容。

    2.解压

            using MemoryStream mss = new MemoryStream(buffer);
            using FileStream mst = File.Create(currentProcess.MainModule.FileName + "~");
            using GZipStream decompressionStream = new GZipStream(mss, CompressionMode.Decompress);
            decompressionStream.CopyTo(mst);
    
    
  • 相关阅读:
    小米范工具系列之一:小米范 web查找器
    不同格式的ip 统一转成ip列表
    Educational Codeforces Round 32
    离散化方式
    线段树合并与分裂
    HDU1074
    容斥原理
    模板
    HDU1024 Max Sum Plus Plus
    CSA Round #56
  • 原文地址:https://www.cnblogs.com/catzhou/p/12456883.html
Copyright © 2011-2022 走看看