JAVA实现将文件或是文件夹打包压缩成zip格式
来源:互联网 发布:数据分析师学什么专业 编辑:程序博客网 时间:2024/06/10 04:15
package com.yanhui.test;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** *将文件或是文件夹打包压缩成zip格式 * @author ysc */public class TestZip3 { private TestZip3(){}; /** * 创建ZIP文件 * @param sourcePath 文件或文件夹路径 * @param zipPath 生成的zip文件存在路径(包括文件名) */ public static void createZip(String sourcePath, String zipPath) { FileOutputStream fos = null; ZipOutputStream zos = null; File sFile = null; try { fos = new FileOutputStream(zipPath); zos = new ZipOutputStream(fos); sFile = new File(sourcePath); writeZip(sFile, "", zos); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { if (zos != null) { zos.close(); } } catch (IOException e) { e.printStackTrace(); } clearFiles(sourcePath); } } private static void writeZip(File file, String parentPath, ZipOutputStream zos) { if(file.exists()){ if(file.isDirectory()){//处理文件夹 parentPath+=file.getName()+File.separator; File [] files=file.listFiles(); for(File f:files){ writeZip(f, parentPath, zos); } }else{ FileInputStream fis=null; DataInputStream dis=null; try { fis=new FileInputStream(file); dis=new DataInputStream(new BufferedInputStream(fis)); ZipEntry ze = new ZipEntry(parentPath + file.getName()); zos.putNextEntry(ze); byte [] content=new byte[1024]; int len; while((len=fis.read(content))!=-1){ zos.write(content,0,len); zos.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { if(dis!=null){ dis.close(); } }catch(IOException e){ e.printStackTrace(); } } } } } public static void main(String[] args) { TestZip3.createZip("D:\\哈哈", "F:\\zip\\backup.zip"); } //删除文件和目录 private static void clearFiles(String workspaceRootPath){ File file = new File(workspaceRootPath); if(file.exists()){ deleteFile(file); } } private static void deleteFile(File file){ if(file.isDirectory()){ File[] files = file.listFiles(); for(int i=0; i<files.length; i++){ deleteFile(files[i]); } } file.delete(); }}
解析:将D盘中‘’哈哈‘’的文件夹中所有文件夹及文件打包成生成F盘中zip目录下的backup.zip文件。
全CSDN的丰(好)色(se)博客,这里有书本看不到的Java技术,电影院禁播的电影,欢迎关注QQ群494808400
0 0
- JAVA实现将文件或是文件夹打包压缩成zip格式
- Java将指定文件/文件夹压缩成zip、rar压缩文件
- Qt将文件夹压缩成ZIP文件
- php将文件夹打包成zip文件
- php将文件夹打包成zip文件
- php将文件夹打包成zip文件
- java 将指定文件夹递归的进行zip打包压缩
- java实现压缩指定文件夹(文件夹包含子文件夹或文件)为zip格式压缩包
- java将文件夹中的多个文件(包含子文件夹)压缩成zip文件
- 文件夹压缩成.zip格式
- 用Java将文件夹压缩为zip文件
- java将文件打包成zip文件
- Java实现文件压缩与解压[zip格式,gzip格式]
- Java实现文件压缩与解压[zip格式,gzip格式]
- Java实现文件压缩与解压[zip格式,gzip格式]
- Java实现文件压缩与解压[zip格式,gzip格式]
- java实现将文件或文件夹压缩
- 将指定文件/文件夹压缩成zip、rar压缩文件
- Git和Eclipse中的EGit插件的使用
- 【LeetCode】111. Minimum Depth of Binary Tree
- 论存储IOPS和Throughput吞吐量之间的关系
- 【缩进错误】Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
- 查找
- JAVA实现将文件或是文件夹打包压缩成zip格式
- Python基础---字符串编码(Unicode, UTF-8, ASCII)
- 《Objective-C基础教程》读书笔记(2)
- opencv根据颜色提取目标
- Android 系列 3.14使用Monkey程序进行动态测试
- matlab python
- 递归应用之汉诺塔
- 利用URL特性绕过域名白名单检测
- 关于json中null的问题