问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java代码实现 导出zip包,无法打开zip压缩包

发布网友 发布时间:2022-05-02 02:54

我来回答

3个回答

热心网友 时间:2022-06-27 07:21

package com.lch.test;

import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZIP {
public static void main(String[] argv) throws Exception {
ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");

for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
String zipEntryName = ((ZipEntry) entries.nextElement()).getName();
System.out.println(zipEntryName);
}
}
}

用javad 的ZipFile类的ZipEntry方法试一下 找到ZIP里面的ZipEntry方法 读取Zip里面压缩文件的内容

有可能会引用外包

你好,我不知道你说的dzp是什么格式文件,但如果是zip的压缩文件,可以看下我的这段代码

ZipFile file = new ZipFile("d:\\1.zip");
ZipEntry entry = file.getEntry("1.xml"); //假如压缩包里的文件名是1.xml
InputStream in=file.getInputStream(entry);
最后就是按照java中一贯的流的处理方式即可

可以不解压,zip包里的一个对象就是一个ZipEntry
找到你想要的那个ZipEntry,用文流写出来就可以了。追问通过ZipEntry,然后用流就可以读出里面的内容了吗?谢谢指点!
回答/**
* 解压
* @param root 输出目标
* @param zipfile zip文件
*/
protected void unzip(File root, File zipfile, String file) throws Exception {

// 解压文件不存在时返回
if (!zipfile.exists()) {
return;
}
// 释放目录不存时创建
if (!root.exists()) {
root.mkdirs();
}
// 释放目录不为目录时返回
if (!root.isDirectory()) {
return;
}

FileInputStream fin = new FileInputStream(zipfile);
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry entry = null;

while ((entry = zin.getNextEntry()) != null) {
//if (!entry.getName().endsWith(file)) {
//continue;
//}
File tmp = new File(root, entry.getName());
if (entry.isDirectory()) {
tmp.mkdirs();
} else {
byte[] buff = new byte[4096];
int len = 0;
tmp.getParentFile().mkdirs();
FileOutputStream fout = new FileOutputStream(tmp);
while ((len = zin.read(buff)) != -1) {
fout.write(buff, 0, len);
}
zin.closeEntry();
fout.close();
}
}

}
这里完整的解压代码。
//if (!entry.getName().endsWith(file)) {
//continue;
//}
这段打开就是只解出一个你指定的文件。

下面是测试用的。
public static void main(String[] args) throws Exception {
new CommonFiles().unzip(new File("D:\\"), new File("D:\\test.zip"),"file.txt");
}

这个例子会在D盘生成型个test文件夹,file.txt就会在里面,(里面也可能会有多个文件夹,这个取决于压缩包里文件的度)追问我已经能够打包了,但我要的是打包后弹出窗指定要存放的路径,就像下载文件那样~~我加上我问题中的代码后,可以实现弹窗指定路径,但压缩文件却损坏,求解

热心网友 时间:2022-06-27 07:22

我也遇到了这样的问题 我是因为程序中写的物理路径不对,最后少了“\\” ,你看看你的是不是也这样

热心网友 时间:2022-06-27 07:22

可以去 csdn 找下。 你也可以参考 http://sunjun041640.blog.163.com/blog/static/256268322007112475950559/追问我已经能导出zip包,也没有乱码,就是包打不开,你推荐这个文章帮不了我啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
菜豆矮化病毒病传毒介体是什么? 菜豆曲矮花叶病毒病是怎样进行病害的检验与检疫? 菜豆矮化病毒病是怎么进行病害的检验与检疫? 菜豆夏枯病毒病病原特性是什么? 菜豆畸矮病毒病有怎样的病原特性? 菜豆矮化病毒病有什么症状? 菜豆曲矮花叶病毒病病原的特性是什么? 宾得K30可用的最便宜的长焦镜头 有位朋友推荐了神备e金融平台,据说炒股专业,不知道是不是真的? 有位朋友推荐了神备e金融平台,据说炒股非常的专业,不知道是不是真_百度... 急求一大学校园篇的剧本!比较短的而且搞笑 我们有6-7个男生吧 在这里谢谢大家了 我的邮箱624669534@qq.co 龙岗区福安学校的相关内容 现在考CCNA花费大概多少? 初一散学典礼学生代表发言稿 2011年出生的孩子,在2023年能上几年级? 黑板报花边?(把把图案给我!!!) 雷锋板报,花边 跪求 初中班主任现在结婚 我已经收到了邀请函 想请假该怎么写? 如何出好新学期的黑板报?? 请函,有没有“请假”的意思?在诗词里面可以代替“请假”吗?请知识人多多指教? excel函数请假计算公式!!!特急,,,请高手帮忙 部队发函请假还要扣钱吗 函授大专请假条怎样写 奔腾突然醒悟了!T77终于用上1.5T,"小鲜肉"一下子成了实力派 2020款奔腾t77什么时候上市? 奔腾t772021PR0280TID定制版是全国统一配置吗 是“狠角色” ,领克05领衔 3月这些新车将上市 一汽奔腾T77 Pro 将于3月7日上市 搭1.5T动力 中国品牌占一半 奔腾T77 Pro/领克05等 三月十款重磅新车都有啥? 动力增强,奔腾T77 PRO三月上旬上市 java代码实现 导出zip包,无法打开zip压缩包 JAVA怎么把zip文件解压到指定位置 JAVA怎么把zip文件解压到指定位置 java压缩文件怎么解压 java压缩文件怎么解压 java se压缩文件下完之后怎么打开 zip格式的文件怎样在仅支持Java格式的手机上安装? Java机可以下载rar,zip文件吗 java解压Zip文件? java解压Zip文件? 如何用java读取zip文件名和zip内文件的文件名,在线等 如何用java读取zip文件名和zip内文件的文件名,在线等 家庭消毒包括空气消毒 空气细菌如何消毒 澳蓝家用移动式空气消毒机适用面积多少? 手机本身自带 远程 FTP服务器 这是什么? 怎样使用? 手机的浏览器能访问ftp站点吗? 简爱为什么都叫爱小姐不叫简小姐? 那位知道有什么名人对简奥斯汀的评论? 和平精英镜头视野什么意思