首页 新闻 会员 周边

再论压缩问题

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-22 13:39

我在对一个文件进行压缩的时候,如果这个文件过大比如说2G,那么就会在这句话中报错:

FileStream fs = File.OpenRead(file);

byte[] buffer = new byte[fs.Length];

其中fs.Length=1081126835 程序走到

byte[] buffer = new byte[fs.Length];这句话时回抛出System.OutOfMemoryException异常

请问该怎么解决这样的问题,是不是可以采取分段压缩的方法,单分段压缩的方法不是很懂还请高手帮帮忙呀??

邓大林的主页 邓大林 | 初学一级 | 园豆:200
提问于:2010-11-29 14:43
< >
分享
最佳答案
0

不要用 .net 平台提供的 gzip ,那个不是用于压缩文件的。

SharpZipLib

这个是一个专门用于压缩文件的开源组件,参见下面文章,你也可以到网上搜,这个组件

很有名

http://www.cnblogs.com/windzhang/archive/2009/08/06/Zip_2009_8_6.html

http://www.cnblogs.com/jcgh/archive/2010/08/24/1807302.html

收获园豆:5
eaglet | 专家六级 |园豆:17139 | 2010-11-30 06:57
我看看
邓大林 | 园豆:200 (初学一级) | 2010-11-30 09:35
我看了下http://www.cnblogs.com/jcgh/archive/2010/08/24/1807302.html这个但是不适合我的项目,http://www.cnblogs.com/windzhang/archive/2009/08/06/Zip_2009_8_6.html这个里面的东西还用很多不是很懂还请你帮帮忙呀!我的qq:564494314!
邓大林 | 园豆:200 (初学一级) | 2010-12-01 14:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册