Java代码中解压RAR文件

发布时间:2017-7-1 11:21:34编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java代码中解压RAR文件 ",主要涉及到Java代码中解压RAR文件 方面的内容,对于Java代码中解压RAR文件 感兴趣的同学可以参考一下。

  1. import java.io.File;  
  2. import java.io.FileOutputStream;  
  3.   
  4. import de.innosystec.unrar.Archive;  
  5. import de.innosystec.unrar.rarfile.FileHeader;  
  6.   
  7. public class UnRARTools {  
  8.   
  9.     public void unrar(File sourceRar, File destDir) throws Exception {  
  10.         Archive archive = null;  
  11.         FileOutputStream fos = null;  
  12.         System.out.println("Starting...");  
  13.         try {  
  14.             archive = new Archive(sourceRar);  
  15.             FileHeader fh = archive.nextFileHeader();  
  16.             int count = 0;  
  17.             File destFileName = null;  
  18.             while (fh != null) {  
  19.                 System.out.println((++count) + ") " + fh.getFileNameString());  
  20.                 String compressFileName = fh.getFileNameString().trim();  
  21.                 destFileName = new File(destDir.getAbsolutePath() + "/" + compressFileName);  
  22.                 if (fh.isDirectory()) {  
  23.                     if (!destFileName.exists()) {  
  24.                         destFileName.mkdirs();  
  25.                     }  
  26.                     fh = archive.nextFileHeader();  
  27.                     continue;  
  28.                 }   
  29.                 if (!destFileName.getParentFile().exists()) {  
  30.                     destFileName.getParentFile().mkdirs();  
  31.                 }  
  32.                 fos = new FileOutputStream(destFileName);  
  33.                 archive.extractFile(fh, fos);  
  34.                 fos.close();  
  35.                 fos = null;  
  36.                 fh = archive.nextFileHeader();  
  37.             }  
  38.   
  39.             archive.close();  
  40.             archive = null;  
  41.             System.out.println("Finished !");  
  42.         } catch (Exception e) {  
  43.             throw e;  
  44.         } finally {  
  45.             if (fos != null) {  
  46.                 try {  
  47.                     fos.close();  
  48.                     fos = null;  
  49.                 } catch (Exception e) {  
  50.                     //ignore  
  51.                 }  
  52.             }  
  53.             if (archive != null) {  
  54.                 try {  
  55.                     archive.close();  
  56.                     archive = null;  
  57.                 } catch (Exception e) {  
  58.                     //ignore  
  59.                 }  
  60.             }  
  61.         }  
  62.     }  
  63.   
  64. }  

需要引用到以下两个lib.
java-unrar-0.5.jar
http://www.java2s.com/Code/JarDownload/java/java-unrar-0.5.jar.zip
apache-commons-logging.jar
http://www.java2s.com/Code/JarDownload/apache-commons/apache-commons-logging.jar.zip


上一篇:随机森林(Random Forest,简称RF)
下一篇:MYSQL分段统计

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款