首页 > 后端开发 > 正文

在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压缩包文件中文件格式的判断?

我爱编程网(https://www.52biancheng.com)小编还为大家带来JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断?的相关内容。

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

问题描述:

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

解析:

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

以上就是我爱编程网小编给大家带来的在LINUX下 用JAVA如何解压rar文件全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“在LINUX下 用JAVA如何解压rar文件”相关推荐
如何用PHP上传RAR压缩包同时解压到指定目录
如何用PHP上传RAR压缩包同时解压到指定目录

如何用PHP上传RAR压缩包同时解压到指定目录<?php header("content-type:text/html;charset=utf-8"); $path = getcwd();//获取当前系统目录 if($_POST['sub']) {  $tname = $_FILES["ufile"]["tmp_name"];  $fname = $_FILES["ufile"]["n

2024-10-03 05:10:09
php解压函数用法 求php压缩解压rar和zip类源码
php解压函数用法 求php压缩解压rar和zip类源码

php实现rar文件的读取和解压实现PHP对RAR文件的读取和解压,需遵循以下步骤:1.首先,从PECL的RAR页面下载DLL。根据系统情况选择对应版本的DLL。2.下载为ZIP包后,解压其中的php_rar.pdb和php_rar.dll到PHP安装目录的ext子目录。3.在php.ini文件中添加扩展引用声明:extension=php_rar.dll。4.对于使

2024-10-15 02:16:41
求php压缩解压rar和zip类源码(php 解压的问题)
求php压缩解压rar和zip类源码(php 解压的问题)

求php压缩解压rar和zip类源码不用写,rar算法是有专利权的RAR压缩算法是RARLab的专利,其它软件要使用或自己实现RAR算法的实作,都是要向RARLab申请许可或交钱的zip算法php有自带的函数====>需求PHP4ThebundledPHP4versionrequires»ZZIPlib,byGuidoDraheim,version0.10.

2024-08-01 19:46:33
如何在linux系统下做java开发
如何在linux系统下做java开发

linux运行java程序linux运行java怎么在linux中运行jar包?有以下几种方式:1、java-jarxxxxx.jar//当前ssh窗口被锁定,可按CTRL+C打断程序运行,或直接关闭窗口,程序退出2、java-jarxxxxx.jar//当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。3、nohupJava-jarxxxxxx.jar//意

2024-04-11 19:37:19
linux启动java服务linux启动java java程序在linux(Ubuntu14.04)下运行需要安装其他的插件么
linux启动java服务linux启动java java程序在linux(Ubuntu14.04)下运行需要安装其他的插件么

linux运行java程序linux运行java怎么在linux中运行jar包?有以下几种方式:1、java-jarxxxxx.jar//当前ssh窗口被锁定,可按CTRL+C打断程序运行,或直接关闭窗口,程序退出2、java-jarxxxxx.jar//当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。3、nohupJava-jarxxxxxx.jar//意

2024-06-04 19:33:55
linux运行java程序linux运行java java程序在linux(Ubuntu14.04)下运行需要安装其他的插件么
linux运行java程序linux运行java java程序在linux(Ubuntu14.04)下运行需要安装其他的插件么

在linux系统下编写编译和运行一个java程序步骤求解啊linux下和windows下基本一样的先装jdk,去官网下载rpm或者gz包安装,也可以yum在线安装open-jdk配置环境变量(在/etc/profile中配置,配置完成后source以下这个文件使之生效)用vi编写源文件命令行javac命令编译代码命令行java命令运行代码除了安装包从exe变成了r

2024-06-21 11:20:28
如何在java程序中调用php文件
如何在java程序中调用php文件

如何在java程序中调用php文件 public String execPHP(String scriptName, String param) {        StringBuilder output = new StringBuilder();        BufferedReader input = null;        String phpPath = "D:/xampp/p

2024-08-09 05:07:06
php如何压缩一个文件夹里面所有的文件到zip文件里面?
php如何压缩一个文件夹里面所有的文件到zip文件里面?

PHP的zip压缩工具扩展包学习PHP的Zip压缩工具扩展包的学习Zip在PHP中得到最大幅度功能支持,是通用常见的一种压缩格式。安装时,Zip扩展已经集成在PHP的安装包中,在Configure的时候可以直接加上--with-zip。如果没有在安装时加上该参数,我们也可以在源码包的ext/zip下找到源码,通过扩展安装的方式进行安装。创建一个压缩包是Zip的基本操作,通过实例化

2025-01-04 17:05:17