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

java中怎么解压rar文件 到指定文件目录中

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

我来回答

1个回答

热心网友 时间:2023-10-12 23:19

1.代码如下:
[java] view plain copy
<span style="font-size:18px;background-color: rgb(204, 204, 204);">package cn.gov.csrc.base.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
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.ZipOutputStream;
/**
* 将文件夹下面的文件
* 打包成zip压缩文件
*
* @author admin
*
*/
public final class FileToZip {
private FileToZip(){}
/**
* 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下
* @param sourceFilePath :待压缩的文件路径
* @param zipFilePath :压缩后存放路径
* @param fileName :压缩后文件的名称
* @return
*/
public static boolean fileToZip(String sourceFilePath,String zipFilePath,String fileName){
boolean flag = false;
File sourceFile = new File(sourceFilePath);
FileInputStream fis = null;
BufferedInputStream bis = null;
FileOutputStream fos = null;
ZipOutputStream zos = null;
if(sourceFile.exists() == false){
System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");
}else{
try {
File zipFile = new File(zipFilePath + "/" + fileName +".zip");
if(zipFile.exists()){
System.out.println(zipFilePath + "目录下存在名字为:" + fileName +".zip" +"打包文件.");
}else{
File[] sourceFiles = sourceFile.listFiles();
if(null == sourceFiles || sourceFiles.length<1){
System.out.println("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩.");
}else{
fos = new FileOutputStream(zipFile);
zos = new ZipOutputStream(new BufferedOutputStream(fos));
byte[] bufs = new byte[1024*10];
for(int i=0;i<sourceFiles.length;i++){
//创建ZIP实体,并添加进压缩包
ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());
zos.putNextEntry(zipEntry);
//读取待压缩的文件并写进压缩包里
fis = new FileInputStream(sourceFiles[i]);
bis = new BufferedInputStream(fis, 1024*10);
int read = 0;
while((read=bis.read(bufs, 0, 1024*10)) != -1){
zos.write(bufs,0,read);
}
}
flag = true;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new RuntimeException(e);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally{
//关闭流
try {
if(null != bis) bis.close();
if(null != zos) zos.close();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
return flag;
}
public static void main(String[] args){
String sourceFilePath = "D:\\TestFile";
String zipFilePath = "D:\\tmp";
String fileName = "12700153file";
boolean flag = FileToZip.fileToZip(sourceFilePath, zipFilePath, fileName);
if(flag){
System.out.println("文件打包成功!");
}else{
System.out.println("文件打包失败!");
}
}
}
</span>
2.结果如下:
文件打包成功!
3.到D:/tmp下查看,你会发现生成了一个zip压缩包.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 如何用java操纵rar文件啊? java解压RAR文件的问题 java解压rar文件报错 java 解压rar文件 广州南站晚上九点钟左右有轻轨到榕桂吗? “世界就是人群未散尽处。六榕寺的斋饭还要等一刻钟。 &#8203;&#8203;&#8203;”这句话什么意思 青口榕泰酒店钟点房多少钱? 《csgo》选国际服还是国服? 重庆菜园坝汽车站有到泸州合江县榕山镇的车吗,几点钟有车 东莞石碣汽车客运站到中山榕桂,几点钟有? Csgo现在不能购买国际服了吗 广州天河客运站到顺德榕桂汽车客运站几点钟一班车 为什么我在STEAM的CSGO里找不到国内服务器 揭阳市榕城区榕华榕发石英钟厂怎么样? 已经购买国服csgo88还是进不去国际服 榕东钟厝洋土地确权去哪里 广东省揭阳市榕城区榕东钟厝洋村钟婉娜 在stm买了CSGO国服开放后发现我玩不了国服进了游戏出现过无法进去房间无法选择阵营无法移动和掉线 不要离开大家钟葱榕 为什么csgo国服不支持 关于java解压缩文件(rar或者zip),压缩的文件是按文件的原目录来压缩的,并不是在同一个文件夹中。 java如何实现修改压缩包中的文件?RAR格式、Zip格式及7z格式 在LINUX下 用JAVA如何解压rar文件 Java 如何实现加密rar 文件的解压操作 JAVA 怎么打开RAR压缩文件? 怎样用JAVA解压winrar加密的zip包(不要调用winrar的命令) 为什么JAVA软件压缩包(ZIP RAR)解压后有很多后缀class的文件和文件夹,而没有jar文件 (下载一个java的压缩包(.rar的)如何eclips上运行。里面有.settings、bin、lib、src文件夹和俩文件)? java项目部署在linux服务器上。想用java程序实现把某些特定文件压缩成rar文件,该如何实现? 用java实现,压缩字符串,例如aaaawwwwe输出4a5we 如何用java读取客户端上传的rar文件 java怎么读取Zip和RAR里面的文件啊? java 调用winrar命令 生成带默认路径的自解压包和创建桌面图标 JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断? b站怎么关弹幕? 给对方发微信视频聊天,立刻显示对方忙线中是什么意思? 微信显示,对方忙线中,什么意思? 微信视频显示对方忙是什么意思? 微信能设置对方忙线中? 在微信上发视频,提示“对方忙线中”是怎么回事?