Java on Line
和java的日子!
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
8 随笔 :: 0 文章 :: 28 评论 :: 0 Trackbacks
<
2007年8月
>
日
一
二
三
四
五
六
29
30
31
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
公告
谢谢您的关注!!!
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(8)
Java基础(5)
(rss)
Java收集
(rss)
个人随笔(1)
(rss)
开发收集(2)
(rss)
随笔档案
(8)
2008年4月 (2)
2008年3月 (1)
2007年10月 (1)
2007年9月 (1)
2007年8月 (3)
相关连接
expert
struts2学习
Sun中国技术社区
我的Blog
日期控件
搜索
最新评论
1. re: 用java压缩文件夹/文件
YASUO
--XURUIYANG
2. re: 用java压缩文件夹/文件
压缩文件夹时,有问题吧,会多出一个文件夹来。
--路人
3. re: 用java压缩文件夹/文件
@ne_akari
你个二逼,自己好好看看再说
--路人
4. re: 用java删除文件夹里的所有文件[未登录]
thanks.
--tao
5. 写的真不错
写的真不错,代码拿出来就能执行,感谢感谢啊!
--沈坤林
用java解压文件夹
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileNotFoundException;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.util.zip.ZipEntry;
import
java.util.zip.ZipInputStream;
import
java.util.zip.ZipOutputStream;
/** */
/**
* 使用java核心类库打包、解包zip文件,不足之处在于压缩中文名的文件时,在压缩包内中文字符是乱码,
* 在windows下解压后编码正常显示中文,而其他系统下则不能正常还原;
*/
public
class
TestZip
{
/** */
/**
* 定义解压缩zip文件的方法
*
@param
zipFileName
*
@param
outputDirectory
*/
public
void
unzip(String zipFileName, String outputDirectory)
{
try
{
ZipInputStream in
=
new
ZipInputStream(
new
FileInputStream(zipFileName));
//
获取ZipInputStream中的ZipEntry条目,一个zip文件中可能包含多个ZipEntry,
//
当getNextEntry方法的返回值为null,则代表ZipInputStream中没有下一个ZipEntry,
//
输入流读取完成;
ZipEntry z
=
in.getNextEntry();
while
(z
!=
null
)
{
System.out.println(
"
unziping
"
+
z.getName());
//
创建以zip包文件名为目录名的根目录
File f
=
new
File(outputDirectory);
f.mkdir();
if
(z.isDirectory())
{
String name
=
z.getName();
name
=
name.substring(
0
, name.length()
-
1
);
System.out.println(
"
name
"
+
name);
f
=
new
File(outputDirectory
+
File.separator
+
name);
f.mkdir();
System.out.println(
"
mkdir
"
+
outputDirectory
+
File.separator
+
name);
}
else
{
f
=
new
File(outputDirectory
+
File.separator
+
z.getName());
f.createNewFile();
FileOutputStream out
=
new
FileOutputStream(f);
int
b;
while
((b
=
in.read())
!=
-
1
)
{
out.write(b);
}
out.close();
}
//
读取下一个ZipEntry
z
=
in.getNextEntry();
}
in.close();
}
catch
(Exception e)
{
//
TODO 自动生成 catch 块
e.printStackTrace();
}
}
public
static
void
main(String[] args)
throws
Exception
{
TestZip t
=
new
TestZip();
t.unzip(
"
c:/a.zip
"
,
"
c:/b
"
);
//
解压C盘下的a.zip文件放到C盘下的b文件夹里
//
一定要注意a.zip文件要经java程序压缩出来的文件,这个程序才可以解压
}
}
posted on 2007-08-24 16:29
陈东
阅读(3281)
评论(3)
编辑
收藏
所属分类:
Java基础
评论
#
re: 用java解压文件夹
2008-07-02 19:59
1111111
错误的
回复
更多评论
#
re: 用java解压文件夹
2008-10-06 19:41
re
非常好用,顶
回复
更多评论
#
re: 用java解压文件夹
2009-02-13 12:25
huzheng
就是太慢!!!请问怎样才能快点!!!
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
JDBC连接各种数据库方法
将一个字符串里的数字,分割后进行排序
用java删除文件夹里的所有文件
用java解压文件夹
用java压缩文件夹/文件
Powered by:
BlogJava
Copyright © 陈东