java 压缩和解压
来源:互联网 发布:知乎 手机已注册 解除 编辑:程序博客网 时间:2024/05/23 01:14
package bZIP;
import java.io.*;
import java.util.zip.*;
public class CZIP {
public static void main(String []args){
// ZIP("C:/Users/Administrator/Desktop/zip.zip","C:/Users/Administrator/Desktop/1");
unZIP("C:/Users/Administrator/Desktop/zip.zip","C:/Users/Administrator/Desktop");
}
public static void ZIP(String zipName,String folderName){
File file=new File(folderName);
if (!file.exists()) {
System.out.println("要压缩的文件不存在");
return;
}
try {
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipName));
System.out.println("正在压缩。。。");
ZIP(out,file,"zip");
out.close();
System.out.println("压缩完成");
} catch ( IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void ZIP(ZipOutputStream out,File f,String base) throws IOException{
if(f.isDirectory()){
out.putNextEntry(new ZipEntry(base+"/"));
base=base.length()==0?"":base+"/";
for(File file:f.listFiles()){
ZIP(out,file,base+file.getName());
}
}
else{
out.putNextEntry(new ZipEntry(base));
FileInputStream fis=new FileInputStream(f);
byte []bt=new byte[(int)f.length()];
int b=fis.read(bt);
if(b!=-1){
out.write(bt,0,b);
}
fis.close();
}
}
public static void unZIP(String zipFile,String outFile){
File f=new File(zipFile);
if(!f.exists()){System.out.println("压缩文件找不到");return;}
try {
ZipInputStream zis=new ZipInputStream(new FileInputStream(f));
ZipEntry ze;
File file;
BufferedInputStream bis=new BufferedInputStream(zis);
//这里用缓冲读取速度快,其实用zis也是能读取的
while((ze = zis.getNextEntry())!=null ){
if (!ze.isDirectory()) {
file = new File(outFile, ze.getName());
FileOutputStream out = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(out);
//这里用缓冲写入,其实用out写入也是行的
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
bos.close();
out.close();
System.out.println(file + "解压成功");
}
else{
File fl=new File(outFile+File.separator+ze.getName());
if(!fl.exists()){
fl.mkdirs();
}
}
}
bis.close();
zis.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
import java.io.*;
import java.util.zip.*;
public class CZIP {
public static void main(String []args){
// ZIP("C:/Users/Administrator/Desktop/zip.zip","C:/Users/Administrator/Desktop/1");
unZIP("C:/Users/Administrator/Desktop/zip.zip","C:/Users/Administrator/Desktop");
}
public static void ZIP(String zipName,String folderName){
File file=new File(folderName);
if (!file.exists()) {
System.out.println("要压缩的文件不存在");
return;
}
try {
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipName));
System.out.println("正在压缩。。。");
ZIP(out,file,"zip");
out.close();
System.out.println("压缩完成");
} catch ( IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void ZIP(ZipOutputStream out,File f,String base) throws IOException{
if(f.isDirectory()){
out.putNextEntry(new ZipEntry(base+"/"));
base=base.length()==0?"":base+"/";
for(File file:f.listFiles()){
ZIP(out,file,base+file.getName());
}
}
else{
out.putNextEntry(new ZipEntry(base));
FileInputStream fis=new FileInputStream(f);
byte []bt=new byte[(int)f.length()];
int b=fis.read(bt);
if(b!=-1){
out.write(bt,0,b);
}
fis.close();
}
}
public static void unZIP(String zipFile,String outFile){
File f=new File(zipFile);
if(!f.exists()){System.out.println("压缩文件找不到");return;}
try {
ZipInputStream zis=new ZipInputStream(new FileInputStream(f));
ZipEntry ze;
File file;
BufferedInputStream bis=new BufferedInputStream(zis);
//这里用缓冲读取速度快,其实用zis也是能读取的
while((ze = zis.getNextEntry())!=null ){
if (!ze.isDirectory()) {
file = new File(outFile, ze.getName());
FileOutputStream out = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(out);
//这里用缓冲写入,其实用out写入也是行的
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
bos.close();
out.close();
System.out.println(file + "解压成功");
}
else{
File fl=new File(outFile+File.separator+ze.getName());
if(!fl.exists()){
fl.mkdirs();
}
}
}
bis.close();
zis.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
阅读全文
0 0
- java 解压和压缩
- java 压缩和解压
- JAVA解压和压缩详解
- JAVA解压和压缩详解
- java压缩和解压zip
- java压缩和解压文件
- Java ZIp 压缩和解压
- java文件夹压缩和解压
- java zip压缩和解压
- java文件夹压缩和解压
- JAVA压缩和解压字符串
- Java 解压和压缩密码zip文件
- java实用ZIP压缩和解压类
- java对jar的解压和压缩
- java 压缩和解压zip包
- java 操作zip 压缩和解压
- java对文件压缩和解压
- Java文件的压缩和解压操作
- 理解Spring Boot中的auto-configuration
- pitch yaw roll
- POJ
- CANs(创意对抗网络)重磅发布,机器可生成的「艺术作品」比人类艺术家更受欢迎
- Android 之xml解析
- java 压缩和解压
- android之广播,broadcast
- vueThink更新了element UI之后出现的问题
- 回调函数中window.open()被拦截
- 数据库主从分离
- addr2line解析墓碑工具
- Vmware10中Centos7挂载Windows主机的共享文件夹
- Kotlin的Spring之旅(三):事务操作(使用jdbcTemplate演示)
- 【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之三