日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java如何解压rar文件怎么打开,java解压rar文件

發(fā)布時(shí)間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java如何解压rar文件怎么打开,java解压rar文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該文章參考了iteye某位大蝦的博客,我自己進(jìn)行了修改。請(qǐng)大家參考

package cn;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import de.innosystec.unrar.Archive;

import de.innosystec.unrar.exception.RarException;

import de.innosystec.unrar.rarfile.FileHeader;

/**

* 對(duì)rar或者zip進(jìn)行解壓縮

*

* @authorxfworld

*

*/

public class Decompress {

//private static String fileName = "";

/**

* 對(duì)rar文件解壓

*

* @param rarFileName

* @param extPlace

* @return

*/

public static boolean unrarFiles(String rarFileName, String extPlace) {

boolean flag = false;

Archive archive = null;

File out = null;

File file = null;

File dir = null;

FileOutputStream os = null;

FileHeader fh = null;

String path, dirPath = "";

try {

file = new File(rarFileName);

archive = new Archive(file);

} catch (RarException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

} finally {

if (file != null) {

file = null;

}

}

if (archive != null) {

try {

fh = archive.nextFileHeader();

while (fh != null) {

//fileName = fh.getFileNameString().trim();

String fileName = "";

//for unicode

if(fh.isUnicode()){

fileName = fh.getFileNameW().trim();

}else{

fileName = fh.getFileNameString().trim();

}

//for linux

if(fileName.indexOf("\\\\")>0){

//path = (extPlace + fileName).replaceAll("\\\\", File.separator);

fileName = fileName.replaceAll("\\\\", File.separator);

}

if(extPlace.indexOf("\\\\")>0)

{

extPlace = extPlace.replaceAll("\\\\", File.separator);

}

File filepath=new File(extPlace);

if(filepath.isDirectory())

{

}

else

{

extPlace=extPlace+File.separator;

}

path= extPlace+ fileName;

int end = path.lastIndexOf("/");

if (end != -1) {

dirPath = path.substring(0, end);

}

try {

dir = new File(dirPath);

if (!dir.exists()) {

dir.mkdirs();

}

} catch (RuntimeException e1) {

e1.printStackTrace();

} finally {

if (dir != null) {

dir = null;

}

}

if (fh.isDirectory()) {

fh = archive.nextFileHeader();

continue;

}

out = new File(extPlace + fileName);

try {

if(!out.exists())

{

out.getParentFile().mkdirs();

out.createNewFile();

}

os = new FileOutputStream(out);

archive.extractFile(fh, os);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (RarException e) {

e.printStackTrace();

}catch(Exception ee)

{

ee.printStackTrace();

}

finally {

if (os != null) {

try {

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (out != null) {

out = null;

}

}

fh = archive.nextFileHeader();

}

} catch (RuntimeException e) {

e.printStackTrace();

} finally {

fh = null;

if (archive != null) {

try {

archive.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

flag = true;

}

return flag;

}

}

/**

*

*/

package cn;

import java.io.File;

/**

* @author xfworld

*

*/

public class Main {

/**

*

*/

public Main() {

// TODO Auto-generated constructor stub

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

//Decompress.unrarFiles("F:"+File.separator+"jquery1.7.2.rar", "d:"+File.separator);

Decompress.unrarFiles("f:\\jquery1.7.2.rar", "d:\\1");

}

}

總結(jié)

以上是生活随笔為你收集整理的java如何解压rar文件怎么打开,java解压rar文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。