Java實現把文件壓縮成zip文件的示例代碼
實現代碼
ackage org.fh.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * 說明:java壓縮成zip * 作者:FH Admin * from:fhadmin.cn */ public class FileZip { /** * @param inputFileName 你要壓縮的文件夾(整個完整路徑) * @param zipFileName 壓縮後的文件(整個完整路徑) * @throws Exception */ public static Boolean zip(String inputFileName, String zipFileName) throws Exception { zip(zipFileName, new File(inputFileName)); return true; } private static void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); zip(out, inputFile, ""); out.flush(); out.close(); } private static void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { File[] fl = f.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[i].getName()); } } else { out.putNextEntry(new ZipEntry(base)); FileInputStream in = new FileInputStream(f); int b; while ((b = in.read()) != -1) { out.write(b); } in.close(); } } public static void main(String [] temp){ try { zip("E:\\ftl","E:\\test.zip");//你要壓縮的文件夾 和 壓縮後的文件 }catch (Exception ex) { ex.printStackTrace(); } } }
代碼解釋:
1.模型管理 :web在線流程設計器、導入導出xml、復制流程、部署流程
2.流程管理 :導入導出流程資源文件、查看流程圖、根據流程實例反射出流程模型、激活掛起
3.運行中流程:查看流程信息、當前任務節點、當前流程圖、作廢暫停流程、指派待辦人、自由跳轉
4.歷史的流程:查看流程信息、流程用時、流程狀態、查看任務發起人信息
5.待辦任務 :查看本人個人任務以及本角色下的任務、辦理、駁回、作廢、指派一下代理人
6.已辦任務 :查看自己辦理過的任務以及流程信息、流程圖、流程狀態(作廢 駁回 正常完成)
補充
當然Java不僅能實現將文件壓縮成zip文件,還可以實現將zip文件解壓
下面是實現的工具類的核心代碼,可以參考一下
/** * 解壓到指定目錄 * @param zipPath * @param descDir * @author isea533 */ public static void unZipFiles(String zipPath,String descDir)throws IOException{ unZipFiles(new File(zipPath), descDir); } /** * 解壓文件到指定目錄 * @param zipFile * @param descDir * @author isea533 */ @SuppressWarnings("rawtypes") public static void unZipFiles(File zipFile,String descDir)throws IOException{ File pathFile = new File(descDir); if(!pathFile.exists()){ pathFile.mkdirs(); } ZipFile zip = new ZipFile(zipFile); for(Enumeration entries = zip.getEntries();entries.hasMoreElements();){ ZipEntry entry = (ZipEntry)entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zip.getInputStream(entry); String outPath = (descDir+zipEntryName).replaceAll("\\*", "/");; //判斷路徑是否存在,不存在則創建文件路徑 File file = new File(outPath.substring(0, outPath.lastIndexOf('/'))); if(!file.exists()){ file.mkdirs(); } //判斷文件全路徑是否為文件夾,如果是上面已經上傳,不需要解壓 if(new File(outPath).isDirectory()){ continue; } //輸出文件路徑信息 System.out.println(outPath); OutputStream out = new FileOutputStream(outPath); byte[] buf1 = new byte[1024]; int len; while((len=in.read(buf1))>0){ out.write(buf1,0,len); } in.close(); out.close(); } System.out.println("******************解壓完畢********************"); }
到此這篇關於Java實現把文件壓縮成zip文件的示例代碼的文章就介紹到這瞭,更多相關Java文件壓縮成zip內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 手把手教你用SpringBoot將文件打包成zip存放或導出
- Java如何實現壓縮文件與解壓縮zip文件
- java 文件流的處理方式 文件打包成zip
- c# 用ICSharpCode組件壓縮文件
- Java實現創建Zip壓縮包並寫入文件