使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/erlian1992/article/details/82594376

使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案

问题描述:

如下图所示,在解压Java程序生成的ZIP压缩包时出现不可预料的压缩文件末端,

问题分袖:

出现上面的情况,大概有两种情况,第一种是输出流没有关闭,第二种是输出流关闭顺序不正确。在写程序时一定要注意使用流完毕后一定要关闭,要不然输出的文件可能是不完整或者损坏的,再者如果关闭输出流的顺序不正确的话也会造成文件损坏或不完整。

解决方案:

检查程序输出流是否关闭或者是否关闭顺序正确

进入视线压缩的代码:

从上面代码可以看出应该先打开的流后关闭,后打开的流先关闭,继续看下去,

从代码中看出是关闭可输出流,但是关闭的顺序写错了,应该先关闭ZipOutputStream,后关闭OutputStream,

修改过后重新运行,问题解决

总结:巩固基础很重要。

猜你喜欢

转载自blog.csdn.net/erlian1992/article/details/82594376