zoukankan      html  css  js  c++  java
  • 利用ICSharpCode压缩打包文件

    因为项目需要打包文件,就在同事的建议下用ICSharpCode写了个打包函数.ICSharpCode的介绍就不说了.具体请到官方网站 http://www.icsharpcode.net/ 上了解.

    首先引用ICSharpCode.SharpZipLib.dll,没有在这里下载:https://files.cnblogs.com/KenBlove/ICSharpCode.SharpZipLib.rar

    代码实现多文件,自定义文件,整目录打包等功能.好了..奉上代码:

    压缩打包代码

    调用也很简单:

    Code

    就这样.如果需要尽管拿走.

    (代码参考过网络上的资源,如有冒犯,莫怪莫怪~)

    由于上边代码对于大文件是一次读入,所以遇到大文件的时候是占用资源比较紧张。所以改为分段读取,每次读取64K数据:

                                string fileName = file.Replace(zipTopDirectory, "");
                                
    if (fileName.StartsWith("\\"))
                                    fileName 
    = fileName.Substring(1);
                                ZipEntry entry 
    = new ZipEntry(fileName);
                                entry.DateTime 
    = DateTime.Now;
                                zipedStream.PutNextEntry(entry);
                                
    for (long j = 0; j < fs.Length; j += 65536)
                                {
                                    
    int byteLength = 65536;
                                    
    if ((fs.Length - j) < 65536)
                                    {
                                        byteLength 
    = (int)(fs.Length - j);
                                    }

                                    
    byte[] buffer = new byte[byteLength];
                                    fs.Read(buffer, 
    0, byteLength);
                                    zipedStream.Write(buffer, 
    0, byteLength);
                                }
                                fs.Close();
  • 相关阅读:
    NeurIPS 2018 中的贝叶斯研究
    史上最全采样方法详细解读与代码实现
    采样方法(二)MCMC相关算法介绍及代码实现
    第七十四篇:机器学习优化方法及超参数设置综述
    论文阅读:《Bag of Tricks for Efficient Text Classification》
    训练技巧详解【含有部分代码】Bag of Tricks for Image Classification with Convolutional Neural Networks
    数值分析-Legendre正交多项式 实现函数逼近
    指针生成网络(Pointer-Generator-Network)原理与实战
    强化学习入门 第五讲 值函数逼近
    UniGUI的 TUniPageControl控件动态拖动tabsheet的实现方法
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1270407.html
Copyright © 2011-2022 走看看