2 a number a_number 于 2016.04.14 18:32 提问

压缩问题SharpZipLib里的Crc32

主要有两个疑问,其一:Crc32实现了IcheckSum接口,但他们里面都只有方法声明,没有方法实现,那这个类有作用吗(具体方法都没实现)?其二,我在用这个类实现大文件压缩的时候,报图片说明,这个错,应该是Crc32的取值范围超过了界限,那这个该怎么更改呢。如果用这个实现大文件压缩,那具体该怎样呢,小文件多文件压缩已经可以实现。ICSharpCode.SharpZipLib用的这个程序集里的。或者有没有其他的方法实现多文件且包括大文件的压缩方法呢?

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.15 00:57
已采纳

crc32允许你将crc值保存到压缩流中,用于在解压的时候判断压缩文件的完整性和解压的正确性。
crc的源代码是有的,但是因为是dll,你转到定义看不到,需要用ilspy等反编译去看

这里有压缩解压的源代码 http://www.cnblogs.com/zfanlong1314/p/4202695.html

a_number
a_number 这个代码能实现小文件的压缩,我需要时也能实现大文件的压缩(1G左右的)。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用ICSharpCode.SharpZipLib进行文件压缩,目前还没实现加密压缩/解压缩。
using System;using System.IO;using System.Data;using ICSharpCode.SharpZipLib;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.Zip.Compression;using ICSharpCode.SharpZipLib.Zip.Compressi
【.NET】利用SharpZipLib压缩与解压文件夹中的所有文件、内存中动态压缩解压数据、内存中压缩与解压文本
SharpZipLib是一个非常优秀的.NET环境下的ZIP文档压缩与解压组件,免费且开源。 本篇文章介绍一下如何使用该组件压缩一个文件夹中的所有文件到ZIP文档、解压一个ZIP文档到文件夹,以及如何利用SharpZipLib在内存中动态的加解压数据。 下载最新版的SharpZipLib http://www.icsharpcode.net/OpenSource/SharpZipLib/Dow
利用SharpZipLib进行文件的压缩和解压缩
首先需要在项目里引用SharpZipLib.dll。然后修改其中的关于压缩和解压缩的类。实现源码如下: /**////  /// 压缩文件 /// using System;using System.IO;using ICSharpCode.SharpZipLib.Checksums;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode
SharpZipLib 压缩多个文件去掉压缩文件中的目录文件夹
[TestMethod] public void TestZipMultiFile() { string[] files = new string[] { "d:/2/1.txt", "d:/2/2.txt", "d:/2/3.txt" }; var i = ZipHelper.MultiZip("d:/2/1.zip
C#压缩文件(SharpZipLib)
C#压缩文件
ICSharpCode.SharpZipLib压缩的文件不能解压的原因
今天用ICSharpCode.SharpZipLib做压缩,发现一个问题:就是压缩出来的文件,手动解压缩没有问题,但是用程序解压缩就报错。百思不得其解。 后来,偶然放到百度云上,发现百度云预览出来的压缩包中的文件大小竟然是4G!真正的文件只有32K,原来如此! 经常查找代码,原来是压缩的时候,没有判断文件是否压缩结束,结果写进去的文件结尾不对,采用如下代码以后,问题解决!注意红
SharpZipLib实现压缩多个文件或整个目录
using System; using System.IO; using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.Checksums; namespace CSharpZipDemo {     ///      /// Summary description for Utility.     ///
SharpZipLib压缩文件和文件夹
本文是在其他人基础上修改而来,测试过程: 正常zip方式压缩文件,然后用wrar工具可以解压出来(开始用wrar3.4版本的怎么也解不出来,以为是不支持wrar解压,后来改用3.9及4.11版本可以实现正常解压,搞了半天时间,原来是版本问题,版本不对害死人啊),另外wrar压缩时选择“zip”选项压缩时,再用此类进行解压,也可以正常解压。 在此以做标记,给自己个别人做铺路,以后少走弯路, 如
SharpZipLib 的使用(压缩,解压)
SharpZipLib 是一个免费的Zip操作类库,可以利用它对 ZIP 等多种格式进行压缩与解压。 下载网址 前的版本为0.86。 1、创建zip文件,并添加文件: using (ZipFile zip = ZipFile.Create(@"E:\test.zip")) { zip.BeginUpdate(); zip.Add(@"E:\文件1.txt");
c#使用SharpZipLib对二进制数据进行压缩和解压
首先需要下载SharpZipLib,下载地址:http://icsharpcode.github.io/SharpZipLib/ 需要引入命名空间: using ICSharpCode.SharpZipLib.GZip; using System.IO; 压缩: public static byte[] CompressGZip(byte[] rawData) {