java提取rar压缩文档
转自:http://hi.baidu.com/wqj403/blog/item/149957345cd6a11891ef3976.html
用java怎么提取或是解压rar压缩文档?以前查了很多的资料,没有找到相关的第三方库,网上查找的资料说是解析rar只能更加rar的命令行参数来解析。因为rar压缩文档的内部结构是没有共开的。所以没有专门的解析库程序。自己也就只好用命令行了,但是在实际应用中,遇到rar加密时就遇到了问题。
所以自己又在网上很费心的找了相关资料,终于找到了一个库可以解析rar文档。
库下载地址:http://www.mucommander.com/。这是个解决多种文档的软件,是用java写的。所以能够引用来解决rar的解析。
package DOCExtract;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import DocHandler.DocTypeNameParse;
import DocHandler.IDocHandler;
import com.mucommander.file.AbstractFile;
import com.mucommander.file.FileFactory;
import com.mucommander.file.impl.rar.provider.RarFile;
import com.mucommander.file.impl.rar.provider.de.innosystec.unrar.rarfile.FileHeader;
/**
* IDocHandler 为自己写的接口类
*
*/
public class RarExtractor implements IDocHandler {
// 每次读取的字节大小
private int BLOCKSIZE = 1024;
// 临时文件编号
private int FILE_COUNT = 0;
public int getText(InputStream inputStream, StringBuffer strBuff) {
String fileDir = "f:\\wang" + FILE_COUNT;
FILE_COUNT++;
String fileName = null;
try { // 将文件写入磁盘上
writeTodev(inputStream, fileDir);
// 从磁盘上读取文件
File file = new File(fileDir);
String[] subFilePath = file.list();
fileName = fileDir + "\\" + subFilePath[0];
AbstractFile abstractFile = FileFactory.getFile(fileName);
RarFile rarFile = new RarFile(abstractFile);
Collect
相关文档:
ANT_HOME D:\apache-ant-1.8.0-bin\apache-ant-1.8.0
AXIS2_HOME D:\axis2-1.5.1
MAVEN_HOME D:\apache-maven-2.2.1
java_home C:\Program Files\Java\jdk1.6.0_18
path C:\ProgramFiles\Java\jdk1.6.0_18\bin;%AXIS2_HOME%/bin;%MAVEN_HOME%\bin;
%ANT_ ......
一直觉得所有的语言中Java是最好的,就开始学了起来。希望记下这些,对自己和以后的学习者有帮助!当然这只是我个人的一点学习感悟,大牛到此可绕过,如有看法,不吝赐教。
一门语言基本的逻辑结构和类型基本是一样的。所以我认为Java语言的基础学习应该从 ......
如何用JAVA 对象?
写简单下给我看下 谢谢了
创建类 名字 =new 设String 几个都可以。 在用复制 输出
在下面继续创建类 后面最好标注上//这样看起来简单下谢谢了
求解决 类和对象没学明白老师讲的我糊涂 迷糊做不出来。 ......
package ui;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
impor ......