但是后面发现一个问题,读取的时候总是返回-1 ze.getSize()的值总是-1,可是名字都到了。 找不到法子,着实无奈,后面换了种方式,干脆将文件解压出来之后,在对文件里面的内容进行验证文件名和文件大小好了
最后发现,着实繁琐,能不能三两行代码解决问题。
后来又继续网上搜索了半天,问了下同事,又继续搜索,突然之间找到了一种新的解决方式,无比开心!
分析下原因是因为:
把判断条件由【(ze=zin.getNextEntry())!=null】换成【zipEnum.hasMoreElements ()】
使用了枚举, Enumeration 接口(枚举)。
通常用 Enumeration 中的以下两个方法打印向量中的所有元素:
(1) boolean hasMoreElements(); // 是否还有元素,如果返回 true ,则表示至少含有一个元素
(2) public Object nextElement(); // 如果 Enumeration 枚举对象还含有元素,该方法返回对象中的下一个元素。如果没有,则抛出NoSuchElementException 异常。
总结:遇到问题,换个解决思路,多从互联网搜索可用信息; 相信同事和朋友,实在不行张开嘴巴问一问,或许同事遇到过,不一定要继续填坑,或者再造轮子;即便没遇到过换一个人的思考方式将会是解决问题的方法。