Rain's Blog
The man who has made up his mind to win will never say“Impossible”. ——Napoleon
BlogJava
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
随笔:43 文章:0 评论:6 引用:0
解压文件
1
package
zhenyu.tools.file;
2
3
import
java.io.
*
;
4
5
import
java.util.
*
;
6
import
java.util.zip.
*
;
7
8
9
public
class
Unzip
{
10
public
Unzip()
{
11
}
12
13
public
static
void
main(String[] args)
{
14
Unzip unzip
=
new
Unzip();
15
unzip.UnzipFile(
"
D:\\tmp.zip
"
,
"
e:\\tmp
"
);
16
}
17
18
public
static
final
void
copyInputStream(InputStream in, OutputStream out)
19
throws
IOException
{
20
byte
[] buffer
=
new
byte
[
1024
];
21
int
len;
22
23
while
((len
=
in.read(buffer))
>=
0
)
24
out.write(buffer,
0
, len);
25
26
in.close();
27
out.close();
28
}
29
30
private
void
UnzipFile(String from, String to)
{
31
Enumeration entries;
32
ZipFile zipFile;
33
34
if
(from
==
null
)
{
35
System.err.println(
"
Usage: Unzip zipfile
"
);
36
37
return
;
38
}
39
40
try
{
41
zipFile
=
new
ZipFile(from);
42
entries
=
zipFile.entries();
43
44
while
(entries.hasMoreElements())
{
45
ZipEntry entry
=
(ZipEntry) entries.nextElement();
46
System.out.println(entry.getName());
47
48
if
(entry.getName().lastIndexOf(
"
\\
"
)
!=
-
1
)
{
49
50
System.out.println(
"
Extracting directory:
"
+
to
+
51
File.separator
+
entry.getName());
52
53
String txt;
54
StringTokenizer st
=
new
StringTokenizer(entry.getName(),
55
"
\\
"
);
56
for
(
int
i
=
0
; st.hasMoreTokens()
&&
i
<
st.countTokens(); i
++
)
{
57
txt
=
st.nextToken().trim();
58
if
(to.endsWith(
"
\\
"
))
{
59
File myFilePath
=
new
File(to
+
txt);
60
61
if
(
!
myFilePath.exists())
{
62
myFilePath.mkdir();
63
}
64
}
else
{
65
File myFilePath
=
new
File(to
+
File.separator
+
66
txt);
67
68
if
(
!
myFilePath.exists())
{
69
myFilePath.mkdir();
70
}
71
}
72
}
73
}
74
75
System.out.println(
"
Extracting file:
"
+
to
+
File.separator
+
76
entry.getName());
77
System.out.println(
"
--------------------------------------
"
);
78
79
copyInputStream(zipFile.getInputStream(entry),
80
new
BufferedOutputStream(
81
new
FileOutputStream(to
+
File.separator
+
entry.getName())));
82
}
83
84
zipFile.close();
85
}
catch
(IOException ioe)
{
86
System.err.println(
"
Unhandled exception:
"
);
87
ioe.printStackTrace();
88
89
return
;
90
}
91
}
92
}
93
压缩包文件结构:
|-tem
|-folderA
|-filea
|-fileb
|-filec
|-filed
解压后文件结构:
|-tem
|-folderA
|-filea
|-fileb
|-filec
|-filed
发表于 2006-05-26 19:54
Rain's Blog
阅读(240)
评论(0)
编辑
收藏
所属分类:
JAVA
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
A Spring Jump Start.Part.IV
A Spring Jump Start.Part.III
A Spring Jump Start.Part.II
A Spring Jump Start.Part.I
解压文件
[转载]jsp导出excel Author:piliskys
文件操作(jsp)
<
2006年5月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
公告
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
(38)
Ajax(1)
(rss)
C#(3)
(rss)
CSS
(rss)
DataBase(3)
(rss)
Eclipse(5)
(rss)
Hibernate(1)
(rss)
JAVA(7)
(rss)
Javascript(9)
(rss)
SCM(1)
(rss)
Test(1)
(rss)
WorkFlow(1)
(rss)
收藏(6)
(rss)
随笔档案
(43)
2006年12月 (1)
2006年10月 (5)
2006年9月 (1)
2006年8月 (4)
2006年7月 (9)
2006年6月 (2)
2006年5月 (2)
2006年4月 (4)
2006年3月 (2)
2006年2月 (4)
2006年1月 (9)
收藏夹
(2)
Ajax(2)
(rss)
Ajax
Autoassist
behaviour
Rico
C#
michaelweinhardt's blog
博客们
blueoxygen
Brian Sun @ 爬树的泡泡
(rss)
java node
(rss)
piliskys
(rss)
snoics
(rss)
江南白衣
(rss)
软件人生 : Weblog
最新随笔
1. Eclipse RCP Tips
2. Eclipse keyboard shortcuts
3. Eclipse标准快捷键
4. Emacs 中文指南
5. 常用Emacs命令整理
6. Emacs 快捷键
7. Oracle9i xdb 与tomcat8080端口冲突(摘自http://www.blogjava.net/Victor/)
8. Atlas DragOverlayExtender 试用小记
9. Resharper 2.0
10. Multiple Main Entry Points in Visual Studio.NET
搜索
积分与排名
积分 - 39981
排名 - 1161
最新评论
1. re: 提交后按钮失效[未登录]
ddddd
--ddd
2. re: 常用Emacs命令整理
请问我要将clipboard里的文字粘贴199遍在某处该怎么做?
--youke
3. re: [转][国内著名大学][课件大全][在线点播][未登录]
好好的东东,可为什么我打不开啊~~~~
--七七001
4. re: [转][国内著名大学][课件大全][在线点播][未登录]
hao hao
--111
5. re: 利用 Spring 和 EHCache 缓存结果(翻译)选择自 rosen 的 Blog
评论内容较长,点击标题查看
--Rosen
阅读排行榜
1. 常用Emacs命令整理(14609)
2. Maven起步——教你开始使用Maven二(图)(3437)
3. [转][国内著名大学][课件大全][在线点播](1823)
4. JIRA安装日志(1417)
5. Emacs 中文指南(1367)
评论排行榜
1. [转][国内著名大学][课件大全][在线点播](2)
2. 提交后按钮失效(1)
3. 常用Emacs命令整理(1)
4. 听《红色摇滚》中国际歌,让人热血沸腾(1)
5. 利用 Spring 和 EHCache 缓存结果(翻译)选择自 rosen 的 Blog(1)