首页 > 后端开发 > 正文

在LINUX下 用JAVA如何解压rar文件

2024-04-04 05:10:44 | 我爱编程网

今天我爱编程网小编整理了在LINUX下 用JAVA如何解压rar文件相关信息,希望在这方面能够更好的大家。

本文目录一览:

在LINUX下 用JAVA如何解压rar文件

在LINUX下 用JAVA如何解压rar文件

楼主试试这个代码~~

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格式的压缩包!");我爱编程网

}

}

}

在LINUX下 用JAVA如何解压rar文件

下载一个java的压缩包(.rar的)如何eclips上运行。里面有.settings、bin、lib、src文件夹和俩文件

首先把你的文件放入一个文件夹中,如MyPro

然后按下边的操作引入就OK!

打开eclipse——>左上角FIle——>import——>

然后Next——>Browse(在这里引入你的文件),记得选上下边那个框(copy。。。to workspace),完成!

在LINUX下 用JAVA如何解压rar文件

JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断?

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断?

解析:

JAVA中使用java.util.zip.ZipOutputStream在对文件进行压缩时,将把每一个文件实体封装为java.util.zip.ZipEntry,反之,在使用java.util.zip.ZipInputStream在对文件进行解压缩时,每个文件的访问也是通过访问ZipEntry对象来操作的,可以通过ZipEntry对象的getName()来得到当初压缩时对该文件的命名(通常为该文件相对路径),当然得到了该文件命名自然就可以对文件格式进行判断了!

以上就是我爱编程网小编给大家带来的在LINUX下 用JAVA如何解压rar文件全部内容,希望对大家有所帮助!
与“在LINUX下 用JAVA如何解压rar文件”相关推荐
java如何调用exe文件?
java如何调用exe文件?

java如何调用exe文件?publicclasstransferExe{\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0aopenWinExe();\x0d\x0aopenExe();\x0d\x0a}\x0d\x0a//用Java调用windows系统的exe文件,比如notepad,calc之类\x0d\x0apublicstatic

2024-03-23 05:42:40
如何用Python实现在文件夹下查找一个关键词
如何用Python实现在文件夹下查找一个关键词

如何用Python实现在文件夹下查找一个关键词#!/usr/bin/python#coding:utf8importos#判断文件中是否包含关键字,是则将文件路径打印出来defis_file_contain_word(file_list,query_word):for_fileinfile_list:ifquery_wordinopen(_file).read():

2024-01-11 11:26:13
如何用cmd编译java文件
如何用cmd编译java文件

如何用cmd编译java文件最近有朋友询问小编如何用cmd来编译java文件,其实这个问题还有很多朋友也不明白,那么如何用cmd编译java文件呢?小编今天就为大家带来cmd怎么编译运行java文件图文步骤,一起看看吧。cmd怎么编译运行java文件图文步骤:1、在windows下利用cmd命令行,可以调用jdk里的javac.exe和java.exe,从而对java文件进行编译和

2024-03-27 04:36:46
Linux 下的Java进程自己关闭,怎么解
Linux 下的Java进程自己关闭,怎么解

Linux下的Java进程自己关闭,怎么解Linux中java进程自己关闭,有2种可能:1、是程序本身出现bug,造成java程序崩溃,进程失效;2、是系统服务设置了自我监控的机制,java占用资源过多的话,关闭了java进程来释放占用的资源。linux运行java程序linux运行java怎么在linux中运行jar包?有以下几种方式:1、java-jarxxx

2024-03-29 16:54:45
如何在Ubuntu Linux上安装Oracle Java
如何在Ubuntu Linux上安装Oracle Java

如何在UbuntuLinux上安装OracleJava1、打开终端运行以下命令,检查你的UbuntuLinux操作系统是32位的还是64位的。输入/复制/粘贴:file/sbin/init注意,它将显示的UbuntuLinux操作系统架构位版本将是32位或64位。2、检查你的系统上是否已安装Java。要检查该项,你需要在终端上运行Java版本命令。打开终端并输入以下命令:

2024-03-26 17:11:50
Win7系统打开java文件出错显示乱码如何解决
Win7系统打开java文件出错显示乱码如何解决

Win7系统打开java文件出错显示乱码如何解决很多程序人员都会使用java程序写文件,只有成功运行java程序文件显示正确结果,可是有用户在打开java文件的时候,却出现错误,显示乱码,要怎么解决这样的问题呢?现在随小编一起来看看Win7系统打开java文件出错显示乱码的具体解决方法吧。原因分析:出现这样的情况是由于打开程序不正确造成的,下面小编给大家分享下解决方法。解决步骤:

2024-03-28 13:41:09
java程序如何在linux服务器上运行
java程序如何在linux服务器上运行

怎样使用linux运行java程序?使用linux运行java程序具体步骤如下:1.Windows上使用eclipse编译java工程,编译完成后导出为RunnableJARFile。例如,此处将test工程中的Test2文件export为MyTest2.jar文件。2.Ubuntu上java环境安装。①jdk官网-downloads-2133151.html下载L

2024-03-15 03:02:46
如何下载python软件
如何下载python软件

如何下载python软件操作方法01首先,在python的官网下载python版本,需要下载你电脑对应的版本,在【计算机】-【属性】中查看自己是32位还是64位操作系统(官网地址在网上自行搜索)。0232位和64位的版本安装起来没有区别,双击打开后,第一步要记得勾上AddpythontoPath选项,意思是把Python的安装路径添加到系统环境变量的Path变量中。然后选择

2023-12-18 16:12:22