ZIP压缩后里面会有很多文件夹,能否取当前文件夹的

achen0207 2006-12-30 04:52:59
用ZIP包压缩一个文件后,所产生的压缩包里面有很多一级级的文件夹(貌似原先文件所在绝对路径所包含的一个个文件夹),能否达到压缩包里面就只有需要压缩的文件,或者只取一个文件夹,而不是这样N多的文件夹互相包含。我的代码如下
---------------------------------------------------------
String path = request.getRealPath(""); //取得当前目录的路?
byte b[] = new byte[512];

ZipOutputStream zout = new ZipOutputStream(new FileOutputStream(path +
"../platformtab_zip/test.zip"));
String args[] = {
path + "../platformtab_zip/200612211166688343828.xls",
path + "../platformtab_zip/0200612211166688427453.doc",
path + "../platformtab_zip/2200612211166688427468.xls",
path + "../platformtab_zip/2200612211166688123421.doc"};

for (int i = 0; i < args.length; i++) {
InputStream in = new FileInputStream(args[i]);
ZipEntry e = new ZipEntry(args[i].replace(File.separatorChar, '/'));
zout.putNextEntry(e);
int len = 0;
while ( (len = in.read(b)) != -1) {
zout.write(b, 0, len);
}
zout.closeEntry();

}



zout.close();
...全文
312 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
DOS下对这些ZIP文件进行压缩操作的工具有很多,如PKZIP、InfoZIP等等,其中最有名且最实用的是PKZIP/PKUNZIP工具,它的最新版本是2.50版。有些人用过WinZip、 WinRAR等工具,从安装到使用,通常需要进行一系列的步骤才能完成一项操作,而PKZIP/PKUNZIP则大不一样,它继承了DOS方便实用的特点,使用起来非常容易,通常一条命令就可以完成对ZIP的相应操作,快速高效。而且,PKZIP/PKUNZIP 2.50的功能也十分强大,不仅操作十分全面,而且完全支持文件列表和长文件名。 PKZIP [选项] ZIP文件名 [要压缩的文件名] 其中,常用的选项有(不区分大小写): -a 向压缩文件中添加文件. -d 从压缩文件中删除文件. -f 刷新压缩文件中的文件. -u 更新压缩文件中的文件. -p 存储进行压缩的文件的相对路径. -r 记住进行压缩的文件的所在路径结构. -s 设置压缩文件的密码. -v 查看压缩文件中的内容. -x 压缩时排除指定的文件. -z 添加或修改压缩文件的注解. 例如:PKZIP -A -S:FILE BMPS.ZIP D:\*.BMP,此命令将D:\下所有扩展名为BMP的文件压缩后加入到BMPS.ZIP文件中,并设置压缩密码为“FILE”。 如果没有指定选项的话,则自动向ZIP压缩文件中进行添加/更新文件的操作;如果没有指定要压缩的文件名的话,则默认对当前文件夹下的所有文件进行操作。比如:PKZIP FILES.ZIP即可将当前文件夹下的所有文件压缩后加入到FILES.ZIP中。 PKUNZIP [选项] ZIP文件名 [要解压的文件名] [要解压到的路径] 其中,常用的选项有(不区分大小写): -d 恢复压缩文件中所储存的路径结构. -e 从压缩文件中解压文件. -f 刷新解压出来的文件. -o 若已存在此文件的话解压时直接进行覆盖操作. -s 输入压缩文件的密码以进行解压. -t 测试压缩文件的完整性. -v 查看压缩文件中的内容. -x 解压时排除指定的文件. 例如:PKUNZIP -D -S:FILE BMPS.ZIP *.BMP即可将BMPS.ZIP文件中所有扩展名为BMP的文件解压出来,保留原有文件的路径,并输入当时设置的密码“FILE”以解压。 如果没有指定选项的话,则自动从ZIP压缩文件进行解压文件的操作;如果没有指定要解压的文件名的话,则默认对压缩文件夹中的所有文件进行操作。比如:PKUNZIP FILES.ZIP即可将FILES.ZIP文件中所有的文件进行解压。 可见,上面的PKZIP和PKUNZIP的操作十分相似(不过,PKUNZIP完全支持通配任,而PKZIP中指定的ZIP压缩文件名不能为通配符),但结果正好相反。由于它们的操作十分简便实用,因此,大家使用它们一儿后就觉得操作起来是十分容易的。 另外,PKZIP中还自带有PKZIPFIX等工具,可以对ZIP文件进行修复等操作。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧