C# 怎么读取压缩文件,我用正常的读取文件,都有些问题.
我的想法是将压缩文件以流方式读取成byte[],然后byte[]作为参数写入文件,文件会写成功,但不能解压压缩文件,报文件被损坏,找不到压缩文件。...
我的想法是将压缩文件以流方式读取成byte[],然后byte[]作为参数写入文件,文件会写成功,但不能解压压缩文件,报文件被损坏,找不到压缩文件。
展开
展开全部
对于文件压缩和解压缩使用.net类库或是开源的ICSharpCode.SharpZipLib.dll网上都有代码,找一下就可以实现。
像你的这种情况可能有以下几种原因:
1、你将待压缩的文件,读取成byte[],但没有经过压缩,就写入文件(这是一定不成的,文件没有改变,你只改了一下扩展名)
2、你在选择压缩方法时,压缩的level选择的可能不正确,导致生成的压缩文件不对
3、你读入的byte[]长度不够,或是没有读全,这种可能性不大
解决方向:
将你生成的压缩文件,改一下扩展名,改成.rar,之后使用rar软件看看能不能打开,并解压缩。如果可以,那说明压缩应该没问题。
再看解压缩代码,里面是否是按照正确的一个Entity(这个单语不记得了)解压缩的。
像你的这种情况可能有以下几种原因:
1、你将待压缩的文件,读取成byte[],但没有经过压缩,就写入文件(这是一定不成的,文件没有改变,你只改了一下扩展名)
2、你在选择压缩方法时,压缩的level选择的可能不正确,导致生成的压缩文件不对
3、你读入的byte[]长度不够,或是没有读全,这种可能性不大
解决方向:
将你生成的压缩文件,改一下扩展名,改成.rar,之后使用rar软件看看能不能打开,并解压缩。如果可以,那说明压缩应该没问题。
再看解压缩代码,里面是否是按照正确的一个Entity(这个单语不记得了)解压缩的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询