Rollen Holt

本文分享了一个详细的Java ZIP压缩实现案例,作者通过实际操作并配以详细的步骤说明,旨在帮助读者更好地理解和掌握ZIP压缩的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

评论

2271203

#1楼[楼主]

2011-09-11 21:36

rollen holt

写的不累,发表的时候要配色真累,真是要吐血啊,word40页啊

回复 引用 查看

#2楼

2011-09-11 23:08

icelovely[未注册用户]

太强大了 = =哪天我的心得也能写到这样 知识估计就牢牢记住了

回复 引用

#3楼[楼主]

2011-09-11 23:30

rollen holt

@icelovely

过奖了呵呵。

回复 引用 查看

#4楼

2011-09-11 23:53

雪夜&流星

呵呵 总结的不错 转走了!

回复 引用 查看

#5楼

2011-09-12 00:33

逍遥k杰

楼主很细心,只是掌握得也很全面,写得非常好

回复 引用 查看

#6楼[楼主]

2011-09-12 10:50

rollen holt

@雪夜&流星

谢谢

回复 引用 查看

#7楼[楼主]

2011-09-12 10:50

rollen holt

@逍遥k杰

谢谢了

回复 引用 查看

#8楼

2011-09-12 11:17

careyson

楼主很踏实,布局肯定没少花信心思。佩服

关注了

回复 引用 查看

#9楼[楼主]

2011-09-12 11:26

rollen holt

@careyson

谢谢;

回复 引用 查看

#10楼

2011-09-12 12:07

灰色逻辑

压缩后变大,是因为zip包还要包括一些额外的信息,因为压缩的原文件太小才56字节,加上额外信息后,反而压缩后更大了

回复 引用 查看

#11楼

2011-09-12 12:07

beilaozai

呵呵给力啊楼主 但是就是少了点注释,在一些比较重要的地方加点注释能更好了 赞

回复 引用 查看

#12楼[楼主]

2011-09-12 16:56

rollen holt

@灰色逻辑

我当时也是这样想的,但是没证据,所以不敢多说,哈哈。谢谢了

回复 引用 查看

#13楼[楼主]

2011-09-12 16:56

rollen holt

@beilaozai

以后会注意的,谢谢支持了

回复 引用 查看

#14楼

2011-09-12 18:33

随风浪迹天涯

很好。中秋快乐。

回复 引用 查看

#15楼[楼主]

2011-09-12 19:39

rollen holt

@随风浪迹天涯

谢谢,你也是哈,

回复 引用 查看

#16楼

2011-09-13 17:39

谑孩无牙

楼主辛苦了!

回复 引用 查看

#17楼[楼主]

2011-09-13 22:10

rollen holt

@谑孩无牙

谢谢支持。

回复 引用 查看

#18楼

2011-09-14 14:37

zsp0817

lz辛苦了

回复 引用 查看

#19楼[楼主]

2011-09-14 16:29

rollen holt

@zsp0817

谢谢

回复 引用 查看

#20楼

2011-09-18 14:21

胡家威

学习了,谢谢。

回复 引用 查看

#21楼

2011-09-18 21:35

iceking[未注册用户]

按你的程序完整的打了一遍感觉确实记得比以前更劳了 不知道你复习这个花了多少时间呢 我敲了一整天还没敲完 哎 学习消化速度还是太慢了

回复 引用

#22楼[楼主]

2011-09-19 07:21

rollen holt

@iceking

慢慢来,坚持就行,呵呵,加油

回复 引用 查看

#23楼

2011-09-19 14:57

iceking

zip单文件压缩那里好像有点问题 我按照你的敲了一遍代码,貌似出来的压缩文件 无法解压 提示 文件破坏或不符合规格 代码如下

file file = new file(srcpath);

file zipfile = new file(destpath);

try {

inputstream instream = new fileinputstream(file);

outputstream outstream = new fileoutputstream(zipfile);

zipoutputstream zipout = new zipoutputstream(outstream);

//加入实体

zipout.putnextentry(new zipentry(file.getname()));

//添加注释

zipout.setcomment("我的压缩程序");

int temp = 0;

while((temp = instream.read())!=-1){

zipout.write(temp);

}

instream.close();

outstream.close();

zipout.close();

} catch (filenotfoundexception e) {

// todo auto-generated catch block

e.printstacktrace();

} catch (ioexception e) {

// todo auto-generated catch block

e.printstacktrace();

}

请帮忙看看 谢了~

回复 引用 查看

#24楼[楼主]

2011-09-19 17:56

rollen holt

@iceking

首先,我的那个例子的代码是没有问题的,我自己测试过了,而且在例子的后面也给出了结果,这一点我可以保证,呵呵。

至于你给出的例子:我自己运行了一下,发现你的问题出现在

outstream.close();

zipout.close();

你的问题出现在上面这两句,你需要将上面两句交换一个顺序就行了,之前的回答是错误的,sorry。

回复 引用 查看

#25楼

2011-09-19 20:30

xrzs1986

楼主总结的很好。顶一个~

回复 引用 查看

#26楼

2011-09-19 20:35

iceking

@rollen holt

呵呵 感谢你的回复 ,刚才测试了下 确实是我的程序那句需要注释掉的问题。觉得奇怪的是一般只要有创建流不是都应该手动close么?这里为何需要注释掉呢?第二个问题是想请教下如何在zip文件的注释内部输入中文。试了gbk 、utf-8、unicode的编码格式,在压缩文件内部显示均为乱码。

回复 引用 查看

#27楼[楼主]

2011-09-19 22:03

rollen holt

@iceking

你不是之前

outputstream outstream = new fileoutputstream(zipfile);

zipoutputstream zipout = new zipoutputstream(outstream);

了吗,根据流的嵌套,只需要关闭最后的一个,也就是zipout.你也可以这样想,将这两条语句和为一条语句,就只需要关闭zipout了。呵呵。我想我的意思你懂的。

至于你的第二个问题,说真的,我之前真的没有注意到,哈哈,你真细心啊。我也不是很清楚这个问题,在网上找了一些参考:

http://hi.baidu.com/dkn521/blog/item/6676bb885aa4e4a90e2444a9.html

以及http://www.iteye.com/topic/349790

这个网页的最后一条评论或许对你有帮助,啥时候解决了麻烦吱一声,哈哈。我最近埋头于xml

回复 引用 查看

#28楼[楼主]

2011-09-19 22:04

rollen holt

@xrzs1986

谢谢了

回复 引用 查看

#29楼

2011-11-10 14:18

52java

辛苦您啦,楼主!同时,也非常感谢您的分享!

回复 引用 查看

#30楼[楼主]

2011-11-10 16:35

rollen holt

@52java

一起加油

回复 引用 查看

#31楼

2011-12-15 17:57

xiaxue0525

good,

回复 引用 查看


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值