package com.tw.file.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
/**
* 文件解压缩类
* @author tw5566
*
*/
public class ZipUtils {
private static final String tt="";
/**
* 主方法
* @param arg
* @throws Exception
*/
public static void main(String arg[])throws Exception{
ZipUtils.unZip_java("F:/POIDemo/uedit32c.zip");//测试OK
}
/**
* <p>文件解缩方法2 java本身自带的解压包。
* 只会解压到当前目录下。</p>
* @param zipFileName 要解压文件的全路径
*/
public static void unZip_java(String zipFileName){
File infile = new File(zipFileName);
try {
// 检查是否是ZIP文件
ZipFile zip = new ZipFile(infile);
zip.close();
// 建立与目标文件的输入连接
ZipInputStream in = new ZipInputStream(new FileInputStream(infile));
ZipEntry file = in.getNextEntry();
int i = infile.getAbsolutePath().lastIndexOf('.');
String dirname = new String();
if (i != -1)
dirname = infile.getAbsolutePath().substring(0, i);
else
dirname = infile.getAbsolutePath();
File newdir = new File(dirname);
newdir.mkdir();
byte[] c = new byte[1024];
int len;
int slen;
while (file != null) {
i = make8859toGB(file.getName()).replace('/', '\\').lastIndexOf('\\');
if (i != -1) {
File dirs = new File(dirname
+ File.separator
+ make8859toGB(file.getName()).replace('/', '\\')
.substring(0, i));
dirs.mkdirs();
dirs = null;
}
System.out.print("Extract "
+ make8859toGB(file.getName()).replace('/', '\\')
+ " ........ ");
if (file.isDirectory()) {
File dirs = new File(make8859toGB(file.getName()).replace(
'/', '\\'));
dirs.mkdir();
dirs = null;
} else {
FileOutputStream out = new FileOutputStream(dirname
+ File.separator
+ make8859toGB(file.getName()).replace('/', '\\'));
while ((slen = in.read(c, 0, c.length)) != -1)
out.write(c, 0, slen);
out.close();
}
System.out.print("O.K.\n");
file = in.getNextEntry();
}
in.close();
} catch (ZipException zipe) {
System.out.println(infile.getName() + "不是一个ZIP文件!");
} catch (IOException ioe) {
System.out.println("读取文件时错误!");
} catch (Exception i) {
System.out.println("over");
}
}
public static String make8859toGB(String str) {
try {
String str8859 = new String(str.getBytes("8859_1"), "GB2312");
return str8859;
} catch (UnsupportedEncodingException ioe) {
return str;
}
}
}
分享到:
相关推荐
然后,可以使用命令行工具解压缩文件,例如使用`tar -zxvf eclipse-java-2023-09-R-linux-gtk-x86_64.tar.gz`命令。解压缩后,用户可以在终端中导航到解压后的目录,并通过运行`./eclipse`来启动Eclipse IDE。 在...
4. **安装和运行**: 解压缩文件后,用户通常会找到一个名为"Eclipse"的可执行文件,双击运行即可启动Eclipse IDE。在首次启动时,用户需要配置工作空间,这是Eclipse保存项目和设置的地方。 5. **Eclipse插件生态**...
Java-JLHA是一款用于处理LZH格式压缩文件的开源库,其主要功能是实现LZH文件的解压缩。源码包中的"import jp.gr.java_conf.dangan"指示该代码库可能源自日本的Dangan项目,这通常意味着它遵循日本开发者的编程习惯和...
ame()); tOut.putArchiveEntry(tarEntry);...通过引入该库,我们可以轻松地在 Java 程序中实现文件和文件夹的压缩与解压缩功能。在实际开发中,注意错误处理、资源管理以及安全性等方面,以确保程序的健壮性和安全性。
在实际使用中,用户需要先解压缩文件,然后运行“eclipse”程序启动Eclipse IDE。为了更好地利用Eclipse,用户还可以根据自己的需求安装额外的插件,比如支持其他语言(如Python或C++)、集成版本控制系统(如Git)...
1. 解压缩文件:`tar -zxvf java-7-openjdk-amd64.tar.gz` 2. 进入解压后的目录:`cd java-7-openjdk-amd64` 3. 配置并编译源代码:`./configure && make` 4. 安装编译后的JDK:`sudo make install` 安装完成后,...
标题 "eclipse-java-2020-06-R-win32-x86_64.rar" 提供的信息表明这是一个Eclipse IDE的特定版本,专为Java开发设计,适用于Windows 32位和64位操作系统。Eclipse是全球开发者广泛使用的开源集成开发环境(IDE),...
2. 解压:使用命令行工具(如`tar`)解压缩文件,通常命令是`tar -zxvf eclipse-java-linux-gtk-x86_64.tar.gz`。 3. 移动:将解压后的“eclipse”目录移动到你希望存放的应用程序目录,例如`/opt/eclipse`。 4. ...
本主题将深入探讨如何使用Java来创建一个文件解压缩工具箱,特别关注支持ZIP和RAR格式,并解决中文乱码问题。首先,我们需要了解两个核心库:`java-unrar-1.7.0-1.jar` 和 `ant-1.8.2.jar`。 `java-unrar-1.7.0-1....
1. 下载压缩文件后,解压缩到一个合适的目录。 2. 双击运行eclipse.exe启动Eclipse IDE。 3. 首次启动时,可能需要设置工作空间,这是存储项目的地方。 4. 要安装JavaEE插件,可以通过菜单栏的“帮助”>“Eclipse ...
解压缩mysql-connector-java-5.1.30.zip 将要使用的是mysql-connector-java-5.1.30-bin-g.jar和mysql-connector-java-5.1.30-bin.jar 配置 在C:\Program Files\Java目录下建立mysqlforjdbc子目录,进入该目录将...
在IT行业中,文件压缩与解压缩是日常工作中常见的操作,特别是在数据传输、存储优化和软件分发等领域。这里我们主要探讨的是一个简单的工具类,它支持zip、rar、tar等多种格式的压缩和解压缩功能,并且经过实际测试...
Lzma压缩文件算法-java单文件版,编译直接通过,压缩率极高
javaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程设计).rarjavaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程设计).rarjavaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程...
用户只需解压缩文件,然后按照安装指南运行Eclipse可执行文件,即可开始使用。 总之,Eclipse Java 2019-03-R-win32-x86_64是一个适合Windows 32位系统的强大开发工具,由于其易用性、灵活性和强大的功能,被许多...
要安装这个Eclipse版本,用户首先需要解压缩“eclipse-java-oxygen-1a-linux-gtk-x86_64.tar.gz”文件,通常可以使用Linux终端的“tar -zxvf 文件名”命令。解压后,会得到一个Eclipse目录,然后可以将这个目录移动...
哈夫曼编码是一种高效的数据编码方法...在Java中,我们可以使用面向对象的方式设计数据结构和算法,结合文件操作类实现文件的压缩与解压缩。通过这个过程,我们可以有效地减小文本文件的存储空间,提高存储和传输效率。
6. **安装与使用**: 用户需要先解压缩文件,然后双击“eclipse.exe”来启动Eclipse。在首次运行时,用户可以设置工作空间,这是保存项目和配置信息的位置。Eclipse还支持通过Marketplace或本地安装插件来扩展其功能...
首先,我们需要一个库来处理RAR格式,因为Java标准库并不直接支持RAR解压缩。在这种情况下,我们可以使用`java-unrar`库,这是一个基于GNU Crypto的Java RAR工具包。文件名`java-unrar_gnu-crypto`可能就是这个库的...
GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ文件的压缩和解压缩操作。 在给出的代码中,有两个主要的方法:`testGzipOutput()`用于解压GZ...