java提供的ZIP压缩方法
用到了三个类 ZipEntry ZipOutputStream ZipInputStream
代码如下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class Zipyasuojiaya {
public static void main(String args[]) {
file2zip("C:\\abcdefg.zip");
zip2file();
}
// 文件转zip文件,这里模拟一个文件夹和文件压缩
public static void file2zip(String zipPath) {
try {
File zipFile = new File(zipPath);
zipFile.getParentFile().mkdirs();
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipPath));
// 写一个文件
File f = new File("C:\\1.txt");
// 添加一个ZipEntry对象
out.putNextEntry(new ZipEntry("copy1.txt"));
FileInputStream in = new FileInputStream(f);
int b;
while ((b = in.read()) != -1) {
out.write(b);
}
in.close();
// 在压缩文件中创建一个文件夹
out.putNextEntry(new ZipEntry("abc/"));
// 向这个压缩中的文件夹写入一个文件
File f1 = new File("C:\\1.txt");
// 注意这里是文件在压缩文件中的位置,在解压的时候它的那么也是这个
out.putNextEntry(new ZipEntry("abc/copy2.txt"));
FileInputStream in1 = new FileInputStream(f1);
int b1;
while ((b1 = in1.read()) != -1) {
out.write(b1);
}
in1.close();
System.out.println("压缩完成");
// 没有关闭的话文件会存在异常
out.close();
} catch (Exception e) {
}
}
// 压缩文件转回文件形式
public static void zip2file() {
try {
ZipInputStream in = new ZipInputStream(new FileInputStream(
"C:\\abcdefg.zip"));
ZipEntry z = null;
while ((z = in.getNextEntry()) != null) {
if (z.isDirectory()) {
File f = new File("C:\\123\\" + z.getName() + "\\");
// 这里将文件夹创建,压缩文件夹中的文件也会当做一个个ZipEntry类,文件夹也是一个ZipEntry类。
f.mkdirs();
} else {
File f = new File("C:\\123\\" + z.getName());
OutputStream out = new FileOutputStream(f);
int b;
while ((b = in.read()) != -1) {
out.write(b);
}
out.close();
}
}
// 记得关闭
in.close();
} catch (Exception e) {
// 这里最好写点东西,要不出错也不知道
e.printStackTrace();
}
}
}
分享到:
相关推荐
java 文件zip 压缩与解压 可以直接调用
java解压zip压缩文件,读取压缩文件中的内容并输出到输出文件中。
对zip文件进行解压缩工具类,以及jar包
NULL 博文链接:https://zhenyong.iteye.com/blog/1576148
java 操作Zip文件(压缩、解压、加密) zip4j-1.3.2.jar ant-1.10.6.jar
java版本的zip压缩和解压程序,命令行的,没有界面,支持文件夹压缩解压
java压缩解压ZIP
使用java压缩也解压zip文件方法,解决中文乱码问题。使用java自带的压缩解压算法,会出现中文乱码问题。使用apache io的zip包,有效解决该问题。Ant的压缩解压,也是使用该类。
java控制指定路径下的文件夹压缩成zip格式。 java将zip压缩包解压成为文件夹。直接使用io流进行操作,不需借助其他jar包
使用 Java 语言实现并封装的创建 ZIP 格式的压缩文件并解压到指定目录和解压 ZIP 文件到指定目录的工具类。
java zip 压缩解压例子
Java带密码压缩zip与解压文件源码源码整理
网上很多描述java解压中文乱码的问题,很多描述不全.由于工作需要整理出一个完整版.简单实用.下载后请从ZipUtil.java的main方法开始,一目了然. public static void main(String args[]) { new ZipUtil().unZip("E:\\...
java实现的解压与压缩的类 其中有zip和rar类型的 还包括了所需的架包
zip文件压缩/解压源码,根据网上的部分代码进行重写,更方便使用
该工具支持zip的压缩和解压 1 1
java压缩文件成zip实现无乱码 内置类与jar包
zip 压缩 文件 Java zip 压缩 文件 Java zip 压缩 文件 Java zip 压缩 文件 Java
JAVA实现目录及文件的zip压缩和解压
Java实现的带密码压缩与解压zip文件源码,可将多个文件使用不同的密码压进同一个zip文件;可以解压带密码的zip文件(store压缩模式)