精华内容
下载资源
问答
  • Java 解压Rar文件

    2012-09-24 08:58:15
    java 解压 rar 文件,压缩包为测试工程,包含 java-unrar-0.3.jar
  • java解压rar文件

    千次阅读 2014-07-11 14:28:51
    * 对rar文件解压 * * @param rarFileName * @param extPlace * @return */ public static boolean unrarFiles(String rarFileName, String extPlace) { boolean flag = false; Archive archive = ...

    该文章参考了iteye某位大虾的博客,我自己进行了修改。请大家参考

    工具类下载


    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;
    
    /**
     * 对rar或者zip进行解压缩
     * 
     * @author	xfworld
     * 
     */
    public class Decompress {
    	//private static String fileName = "";
    
    	/**
    	 * 对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");
    	}
    
    }
    



    展开全文
  • java解压RAR文件

    2010-07-20 14:03:24
    package com.dollar.util; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; public class UnRarFile { ... * 解压rar文件 * * @param targ...
    package com.dollar.util;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.InputStreamReader;

    public class UnRarFile {
    /**
    * 解压rar文件
    *
    * @param targetPath
    * @param absolutePath
    */
    public void unRarFile(String targetPath, String absolutePath) {

    try {

    // 系统安装winrar的路径
    String cmd = "C:\\Program Files\\WinRAR\\WinRAR.exe";
    String unrarCmd = cmd + " x -r -p- -o+ " + absolutePath + " "
    + targetPath;

    Runtime rt = Runtime.getRuntime();
    Process pre = rt.exec(unrarCmd);
    InputStreamReader isr = new InputStreamReader(pre.getInputStream());
    BufferedReader bf = new BufferedReader(isr);
    String line = null;
    while ((line = bf.readLine()) != null) {
    line = line.trim();
    if ("".equals(line)) {
    continue;
    }
    System.out.println(line);
    }

    bf.close();
    } catch (Exception e) {
    System.out.println("解压发生异常");
    }
    }

    /**
    * @param args
    */
    public static void main(String[] args) {
    String targetPath = "E:\\file\\test\\";
    UnRarFile unrar = new UnRarFile();

    File file=new File("E:\\file\\ybf100");
    File[] fs=file.listFiles();
    for(File f:fs){
    FileUtil.saveMsg("E:\\file\\recode.txt", f.getName(), "UTF-8", true);
    unrar.unRarFile(targetPath, f.getPath());
    }
    }


    }
    展开全文
  • JAVA解压rar文件

    2010-10-23 11:40:59
    import java.io.BufferedReader; import java.io.InputStreamReader; /** * @author zhaoliangyuan ... * @dateTime 2010/7/20 上午 10:21:07 类说明:解壓壓縮文件 */ public class Te...
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    /**
     * @author zhaoliangyuan
     * @E-mail zhao19860603@163.com
     * @dateTime 2010/7/20 上午 10:21:07 类说明:解壓壓縮文件
     */
    public class Test22 {
    	/**
    	 * 
    	 * 解压rar文件
    	 * 
    	 * 
    	 * 
    	 * @param targetPath
    	 * 
    	 * @param absolutePath
    	 * 
    	 */
    
    	public void unRarFile(String targetPath, String absolutePath) {
    
    		try {
    
    			// 系统安装winrar的路径
    
    			String cmd = "C:\\Program Files\\WinRAR\\winrar.exe";
    
    			String unrarCmd = cmd + " x -r -p- -o+ " + absolutePath + " " + targetPath;
    
    			Runtime rt = Runtime.getRuntime();
    
    			Process pre = rt.exec(unrarCmd);
    
    			InputStreamReader isr = new InputStreamReader(pre.getInputStream());
    
    			BufferedReader bf = new BufferedReader(isr);
    
    			String line = null;
    
    			while ((line = bf.readLine()) != null) {
    
    				line = line.trim();
    
    				if ("".equals(line)) {
    
    					continue;
    
    				}
    
    				System.out.println(line);
    
    			}
    
    			bf.close();
    
    		} catch (Exception e) {
    			System.out.println("解压发生异常");
    		}
    	}
    
    	/**
    	 * 
    	 * @param args
    	 * 
    	 */
    
    	public static void main(String[] args) {
    		//須手動建立解壓後的文件夾
    
    		String targetPath = "D:\\R000072";
    
    		String rarFilePath = "D:\\apache-ant-1.6.5-bin.zip";
    
    		Test22 unrar = new Test22();
    
    		unrar.unRarFile(targetPath, rarFilePath);
    
    	}
    
    }
    
     
    展开全文
  • xinhuo-unrar.jar 利用 WinRAR 提供的 unrar 命令进行解压 Windows环境需准备将UnRAR.exe文件放置项目根目录 Linux环境需安装 rarlinux WinRAR下载地址 https://www.rarlab.com/rar_add.html xinhuo-unrar.jar...

    xinhuo-unrar.jar 利用 WinRAR 提供的 unrar 命令进行解压

     

    xinhuo-unrar.jar

    链接:https://download.csdn.net/download/qq_34902508/14910256

    示例:

    import java.io.File;
    
    import com.xinhuo.cn.Decompressor;
    import com.xinhuo.cn.rar.RarDec;
    
    /**
    *
    * @author welfareHu
    * @date 2021-01-21 15:47
    * @version 1.0
    * @Description 
    */
    public class Demo {
        public static void main(String[] args) {
                Decompressor decompressor = new Decompressor();
                decompressor.setSrcFile(new File("E:\\demo.rar"));
                decompressor.setTargetFile("E:\\");
                decompressor.setCover(true);
                decompressor.setPassword("");
                RarDec.unRar(decompressor);
                System.out.println(decompressor.getLogs().toString());
                System.out.println(decompressor.getStatus());
        }
    }

     

    **************************status*******************************
    0:成功操作
    1:警告。发生非致命错误
    2:发生致命错误
    3:无效校验和。数据损坏
    4:尝试修改一个
    5:写错误
    6:文件打开错误
    7:错误命令行选项
    8:内存不足
    9:文件创建错误
    10:没有找到与指定的掩码和选项匹配的文件
    11:密码错误
    12:读取错误
    255:异常中断
    **************************status*******************************
    执行命令:cmd.exe  /c unrar x -o+ -p123456 E:\demo.rar E:\ 
    
    UNRAR 6.00 x64 免费软件      版权所有 (c) 1993-2020 Alexander Roshal
    
    
    正在从 E:\demo.rar 解压
    
    正在解压  E:\demo\测试.txt                                            确定 
    全部正常
    
    0

     

    展开全文
  • Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。 RAR 密码
  • Java实现解压RAR文件

    热门讨论 2012-10-29 00:02:39
    一个用java实现解压RAR压缩文件的例子,由于RAR的压缩算法被专利,所以借助了第三方的包(此文件里包含三方包)。
  • java压缩与解压RAR文件

    2009-09-25 18:54:54
    java程序,压缩与解压rar文件. java程序,压缩与解压rar文件.
  • Java解压带密码的RAR文件

    热门讨论 2012-07-07 15:56:54
    Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。
  • java解压RAR压缩文件

    2015-01-30 11:35:46
    java利用haoya解压目录下的所有rar文件举例: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.io.InputStream; import ...
  • 使用java解压带密码的rar压缩文件,解压目录下所有的rar文件
  • java 解压 .rar 文件 人头担保可用 下载解压后 Archive.java 里面有main方法 修改即可
  • Java解压ZIP、RAR文件

    千次阅读 2016-05-09 18:17:01
    Java解压ZIP、RAR文件
  • 针对java代码解压rar文件时报错浅谈 1、针对所报的异常: de.innosystec.unrar.Archive setFile 警告: exception in archive constructor maybe file is encrypted or currupt de.innosystec.unrar.exception....
  • java 解压zip,rar文件

    2010-05-18 15:31:13
    java 解压zip,rar文件java 解压缩包,把压缩包的文件及文件夹的子文件全部压到指定目录
  • java-rar文件递归解压

    2017-08-11 10:28:47
    *、之前工作需要,要上传本地的文件夹中的文件(多层),但是页面操作的都是服务器上的文件路径,于是 换了一个思路:将目标文件夹压缩,然后...*、java语言解压rar压缩文件 引自:http://www.cnblogs.com/yuanj...
  • java-不解压rar文件直接提取压缩文件中的文件,或者解压也行。各路大侠知道的指点一下
  • java解压zip和rar文件

    万次阅读 2018-10-18 20:00:04
    前言 日常使用中有解压软件可以...-- 解压rar --> <dependency> <groupId>com.github.junrar</groupId&g
  • java 解压zip、rar文件

    2017-04-06 17:29:13
    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.Outpu
  • Java 解压zip和rar文件

    千次阅读 2012-02-14 09:52:16
    一、解压rar文件。  由于WinRAR 是共享软件,并不是开源的,所以解压rar文件的前提是系统已经安装了winrar,比如本人的安装路径是:  C:\\Program Files\\WinRAR\\winrar.exe  然后运用java.lang.Process 的...
  • Java解压zip和rar文件

    千次阅读 2010-03-31 10:41:00
    由于WinRAR 是共享软件,并不是开源的,所以解压rar文件的前提是系统已经安装了winrar,比如本人的安装路径是: C://Program Files//WinRAR//winrar.exe 然后运用java.lang.Process 的相关知识来运行系统命令行来...
  • java解压/读取rar文件

    千次阅读 2020-02-22 20:48:31
    转自在此感谢作者:... <!-- 解压rar --> <dependency> <groupId>com.github.junrar</groupId> <artifactId>junrar</artifactId&...
  • Linux下解压RAR文件

    2020-12-04 17:32:53
    可以用于JAVA在 Linux环境下解压.rar文件
  • 分享java解压带有密码的的rar文件

    千次阅读 2018-10-03 16:49:37
    分享下载链接:分享java解压带有密码的的rar文件
  • Java代码中解压RAR文件

    万次阅读 2012-08-08 16:41:14
    import java.io.File; import java.io.FileOutputStream; import de.innosystec.unrar.Archive; import de.innosystec.unrar.rarfile.FileHeader; public class UnRARTools { public void unrar(File sourceRar,
  • 我这个资源是也是从网上下的,下下来之后在单个测试类里面解压rar是没问题的,但是在Action里面调就抛java.lang.OutOfMemoryError: Java heap space,所以自己换了种解压rar的方法,以前的方法注释掉了。action里面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,383
精华内容 5,353
关键字:

java解压rar文件

java 订阅