必威体育Betway必威体育官网
当前位置:首页 > IT技术

java使用 zipoutputstream 进行解压缩时提示:不可预料的压缩文件末端

时间:2019-07-26 09:43:16来源:IT技术作者:seo实验室小编阅读:87次「手机版」
 

不可预料的压缩文件末端

private static void zip(File filein, String basepath, Zipoutputstream out) throws IOException {
		fileinputstream in = null;
		try {
			if (filein.isDirectory()) {
				File files[] = filein.listFiles();
				/*if (basepath != "") {
					out.putNextEntry(new ZipEntry(basepath + File.separator));
				}
				basepath = basepath.length() == 0 ? "" : basepath +File.separator;*/
				for (int i = 0; i < files.length; i++) {
                  zip(files[i], basepath+File.separator+files[i].getName(), out);  
				}
			} else {
				out.putNextEntry(new ZipEntry(basepath));
				in= new FileInputStream(filein);
				int a = 0;
				while ((a = in.read()) != -1) {
					out.write(a);
				}
			}

		} catch (Exception e) {
			e.printstacktrace();
		}finally {
			if (in != null) {
				in.close();
			   }
			
		} 

 我出现这个错误的原因是没有执行  zipput.close()将输出流关闭,导致 压缩出来的文件有问题 

File file = new File("D:\\test");
		ZipOutputStream zipout = new ZipOutputStream(
				new FileOutputStream(new File("D:" + File.separator + "test.zip")));
		zip(file, file.getName(), zipout);
		zipout.close();

相关阅读

京东在线客服怎么使用呢?怎么联系京东客服?

京东在线客服怎么使用呢?怎么联系京东客服?最近很多同学开始在seo实验室上咨询小编京东在线客服怎么使用这个问题,其实京东在线客

java.lang.Enum.ordinal()方法实例

java.lang.Enum.ordinal() 方法返回枚举常量的序数(它在枚举声明,其中初始常量分配的零序位)。【实例】package com.yiibai; impo

JAVA继承顺序

当使用继承这个特性时,程序是如何执行的;继承的初始化顺序1.初始化父类再初始子类2.先执行初始化对象中属性,再执行构造方法中的初始

苏宁免运费券是什么?如何领取?怎样使用?

买家电时我们最最在意的就是运费了,不仅是购买时的运费,就连退换货运费也是一样担心,因为家电属于大型电器,运输过程比较复杂,很多朋友

淘宝年货节购物券怎么用?使用规则是什么?

购物券是淘宝推出的一个优惠手段,最早是双十一开始了购物券玩法,然后双十二活动也延续了此玩法,2019年淘宝年货节也会继续以购物券形

分享到:

栏目导航

推荐阅读

热门阅读