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

java怎么读取Zip和RAR里面的文件啊?

发布网友 发布时间:2022-04-23 04:02

我来回答

4个回答

热心网友 时间:2023-07-31 19:05

ZipInputStream是一个指向ZIP文件的流,这个流最重要的方法就是getNextEntry方法,一个zip文件可以包含好几个被压缩的文件,这个方法的功能就是返回下一个目录项,也就是返回zip文件中的下一项,并且把流指向这个目录文件项。getNextEntry的返回值是ZipEntry,它表示zip文件中的一个项,它可以返回这个文件项的大小、名称等。你可以根据它返回的文件大小调用ZipInputStream的read方法来读取需要的字节。给你一个例子:public class ZipTest {
public static void main(String args[]) throws FileNotFoundException, IOException{
ZipInputStream zis = new ZipInputStream(new FileInputStream ("c://a.zip"));//生成读取ZIP文件的流
ZipEntry ze = zis.getNextEntry();//取得下一个文件项
long size = ze.getSize();//取得这一项的大小
FileOutputStream fos = new FileOutputStream("c://"+ze.getName());//产生输出文件对象
for(int i= 0;i<size;i++){//循环读取文件并写入输出文件对象
byte c = (byte)zis.read();
fos.write(c);
}
fos.close();
zis.close();
}
}

热心网友 时间:2023-07-31 19:05

package test;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;

public class aaaa {

public static void main(String[] args) throws Exception {
try {
readZipFile("D:\\ztree.zip");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void readZipFile(String file) throws Exception {
ZipFile zf = new ZipFile(file);
InputStream in = new BufferedInputStream(new FileInputStream(file));
ZipInputStream zin = new ZipInputStream(in);
ZipEntry ze;
while ((ze = zin.getNextEntry()) != null) {
if (ze.isDirectory()) {
} else {
System.err.println("file - " + ze.getName() + " : "
+ ze.getSize() + " bytes");
long size = ze.getSize();
if (size > 0) {
BufferedReader br = new BufferedReader(
new InputStreamReader(zf.getInputStream(ze)));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
System.out.println();
}
}
zin.closeEntry();
}
}

热心网友 时间:2023-07-31 19:06

需要解压了才可以

热心网友 时间:2023-07-31 19:06

到底怎么读我也不知道,不过是可以的你可以参考下这个http://www.chinaunix.net/jh/26/106061.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 如何用java读取客户端上传的rar文件 用java实现,压缩字符串,例如aaaawwwwe输出4a5we java项目部署在linux服务器上。想用java程序实现把某些特定文件压缩成rar文件,该如何实现? (下载一个java的压缩包(.rar的)如何eclips上运行。里面有.settings、bin、lib、src文件夹和俩文件)? 为什么JAVA软件压缩包(ZIP RAR)解压后有很多后缀class的文件和文件夹,而没有jar文件 怎样用JAVA解压winrar加密的zip包(不要调用winrar的命令) JAVA 怎么打开RAR压缩文件? Java 如何实现加密rar 文件的解压操作 在LINUX下 用JAVA如何解压rar文件 java如何实现修改压缩包中的文件?RAR格式、Zip格式及7z格式 关于java解压缩文件(rar或者zip),压缩的文件是按文件的原目录来压缩的,并不是在同一个文件夹中。 java中怎么解压rar文件 到指定文件目录中 如何用java操纵rar文件啊? java解压RAR文件的问题 java解压rar文件报错 java 解压rar文件 广州南站晚上九点钟左右有轻轨到榕桂吗? “世界就是人群未散尽处。六榕寺的斋饭还要等一刻钟。 &#8203;&#8203;&#8203;”这句话什么意思 青口榕泰酒店钟点房多少钱? 《csgo》选国际服还是国服? java 调用winrar命令 生成带默认路径的自解压包和创建桌面图标 JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断? b站怎么关弹幕? 给对方发微信视频聊天,立刻显示对方忙线中是什么意思? 微信显示,对方忙线中,什么意思? 微信视频显示对方忙是什么意思? 微信能设置对方忙线中? 在微信上发视频,提示“对方忙线中”是怎么回事? 微信打电话提示“对方忙线中”是什么意思? 售楼庆元旦祝福语 有关销售楼盘的广告语,还带元旦祝福的 家里有房子出售,需要一个售房广告词 售楼处广告用语 售楼处广告用语有哪些? 想在微信朋友圈里卖房子广告怎么写,朋友们帮帮忙 ktv朋友圈订房广告语有哪些? 我想在朋友圈卖这个,谁给我想个劲爆的广告语 我是做旅游销售,在朋友圈怎么编辑广告语,谢谢。比如:“有出去游玩计划的可以来找我”这种。上档次点 朋友圈帮朋友打广告词有哪些? 功率继电器的工作原理 卖车的宣传语在朋友圈怎么发?