2024-04-04 05:10:44 | 我爱编程网
楼主试试这个代码~~
package decompress;
import java.io.File;
import java.io.FileOutputStream;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
import de.innosystec.unrar.Archive;
import de.innosystec.unrar.rarfile.FileHeader;
public class DeCompressUtil {
/**
* 解压zip格式压缩包
* 对应的是ant.jar
*/
private static void unzip(String sourceZip,String destDir) throws Exception{
try{
Project p = new Project();
Expand e = new Expand();
e.setProject(p);
e.setSrc(new File(sourceZip));
e.setOverwrite(false);
e.setDest(new File(destDir));
/*
ant下的zip工具默认压缩编码为UTF-8编码,
而winRAR软件压缩是用的windows默认的GBK或者GB2312编码
所以解压缩时要制定编码格式
*/
e.setEncoding("gbk");
e.execute();
}catch(Exception e){
throw e;
}
}
/**
* 解压rar格式压缩包。
* 对应的是java-unrar-0.3.jar,但是java-unrar-0.3.jar又会用到commons-logging-1.1.1.jar
*/
private static void unrar(String sourceRar,String destDir) throws Exception{
Archive a = null;
FileOutputStream fos = null;
try{
a = new Archive(new File(sourceRar));
FileHeader fh = a.nextFileHeader();
while(fh!=null){
if(!fh.isDirectory()){
//1 根据不同的操作系统拿到相应的 destDirName 和 destFileName
String compressFileName = fh.getFileNameString().trim();
String destFileName = "";
String destDirName = "";
//非windows系统
if(File.separator.equals("/")){
destFileName = destDir + compressFileName.replaceAll("\\\\", "/");
destDirName = destFileName.substring(0, destFileName.lastIndexOf("/"));
//windows系统
}else{
destFileName = destDir + compressFileName.replaceAll("/", "\\\\");
destDirName = destFileName.substring(0, destFileName.lastIndexOf("\\"));
}
//2创建文件夹
File dir = new File(destDirName);
if(!dir.exists()||!dir.isDirectory()){
dir.mkdirs();
}
//3解压缩文件
fos = new FileOutputStream(new File(destFileName));
a.extractFile(fh, fos);
fos.close();
fos = null;
}
fh = a.nextFileHeader();
}
a.close();
a = null;
}catch(Exception e){
throw e;
}finally{
if(fos!=null){
try{fos.close();fos=null;}catch(Exception e){e.printStackTrace();}
}
if(a!=null){
try{a.close();a=null;}catch(Exception e){e.printStackTrace();}
}
}
}
/**
* 解压缩
*/
public static void deCompress(String sourceFile,String destDir) throws Exception{
//保证文件夹路径最后是"/"或者"\"
char lastChar = destDir.charAt(destDir.length()-1);
if(lastChar!='/'&&lastChar!='\\'){
destDir += File.separator;
}
//根据类型,进行相应的解压缩
String type = sourceFile.substring(sourceFile.lastIndexOf(".")+1);
if(type.equals("zip")){
DeCompressUtil.unzip(sourceFile, destDir);
}else if(type.equals("rar")){
DeCompressUtil.unrar(sourceFile, destDir);
}else{
throw new Exception("只支持zip和rar格式的压缩包!");我爱编程网
}
}
}
首先把你的文件放入一个文件夹中,如MyPro
然后按下边的操作引入就OK!
打开eclipse——>左上角FIle——>import——>
然后Next——>Browse(在这里引入你的文件),记得选上下边那个框(copy。。。to workspace),完成!
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断?
解析:
JAVA中使用java.util.zip.ZipOutputStream在对文件进行压缩时,将把每一个文件实体封装为java.util.zip.ZipEntry,反之,在使用java.util.zip.ZipInputStream在对文件进行解压缩时,每个文件的访问也是通过访问ZipEntry对象来操作的,可以通过ZipEntry对象的getName()来得到当初压缩时对该文件的命名(通常为该文件相对路径),当然得到了该文件命名自然就可以对文件格式进行判断了!
java如何调用exe文件?publicclasstransferExe{\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0aopenWinExe();\x0d\x0aopenExe();\x0d\x0a}\x0d\x0a//用Java调用windows系统的exe文件,比如notepad,calc之类\x0d\x0apublicstatic
如何用Python实现在文件夹下查找一个关键词#!/usr/bin/python#coding:utf8importos#判断文件中是否包含关键字,是则将文件路径打印出来defis_file_contain_word(file_list,query_word):for_fileinfile_list:ifquery_wordinopen(_file).read():
如何用cmd编译java文件最近有朋友询问小编如何用cmd来编译java文件,其实这个问题还有很多朋友也不明白,那么如何用cmd编译java文件呢?小编今天就为大家带来cmd怎么编译运行java文件图文步骤,一起看看吧。cmd怎么编译运行java文件图文步骤:1、在windows下利用cmd命令行,可以调用jdk里的javac.exe和java.exe,从而对java文件进行编译和
Linux下的Java进程自己关闭,怎么解Linux中java进程自己关闭,有2种可能:1、是程序本身出现bug,造成java程序崩溃,进程失效;2、是系统服务设置了自我监控的机制,java占用资源过多的话,关闭了java进程来释放占用的资源。linux运行java程序linux运行java怎么在linux中运行jar包?有以下几种方式:1、java-jarxxx
如何在UbuntuLinux上安装OracleJava1、打开终端运行以下命令,检查你的UbuntuLinux操作系统是32位的还是64位的。输入/复制/粘贴:file/sbin/init注意,它将显示的UbuntuLinux操作系统架构位版本将是32位或64位。2、检查你的系统上是否已安装Java。要检查该项,你需要在终端上运行Java版本命令。打开终端并输入以下命令:
Win7系统打开java文件出错显示乱码如何解决很多程序人员都会使用java程序写文件,只有成功运行java程序文件显示正确结果,可是有用户在打开java文件的时候,却出现错误,显示乱码,要怎么解决这样的问题呢?现在随小编一起来看看Win7系统打开java文件出错显示乱码的具体解决方法吧。原因分析:出现这样的情况是由于打开程序不正确造成的,下面小编给大家分享下解决方法。解决步骤:
怎样使用linux运行java程序?使用linux运行java程序具体步骤如下:1.Windows上使用eclipse编译java工程,编译完成后导出为RunnableJARFile。例如,此处将test工程中的Test2文件export为MyTest2.jar文件。2.Ubuntu上java环境安装。①jdk官网-downloads-2133151.html下载L
如何下载python软件操作方法01首先,在python的官网下载python版本,需要下载你电脑对应的版本,在【计算机】-【属性】中查看自己是32位还是64位操作系统(官网地址在网上自行搜索)。0232位和64位的版本安装起来没有区别,双击打开后,第一步要记得勾上AddpythontoPath选项,意思是把Python的安装路径添加到系统环境变量的Path变量中。然后选择
2024-03-02 02:58:47
2024-01-01 09:58:48
2024-03-21 00:22:13
2024-01-26 10:37:53
2024-03-31 15:14:06
2024-03-04 07:43:42