电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java GZIPOutputStream流壓縮文件的操作

瀏覽:13日期:2022-08-17 08:03:35

我就廢話不多說了,大家還是直接看代碼吧~

不多說,直接上代碼

public static void main(String[] args) throws Exception{//壓縮文件 File src = new File('e:/xx/aa.txt'); File zipFile = new File('e:/xx/a.zip'); FileOutputStream fos = new FileOutputStream(zipFile); ZipOutputStream zos = new ZipOutputStream(fos); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src)); ZipEntry entry = new ZipEntry( src.getName()); zos.putNextEntry(entry); int count; byte[] buf = new byte[1024]; while ((count = bis.read(buf)) != -1) { zos.write(buf, 0, count); } bis.close(); //fos.close(); zos.close();// }壓縮的步驟是:

src將要壓縮的文件,zipFile 壓縮后的文件,壓縮流套接zipFile,然后將src文件寫入zipFile,其中ZipEntry中放入的源文件的當前名稱,putNextEntry是將源文件的當前名稱定位到條目數據的開始處。

補充:Java ZIP壓縮輸入輸出流

ZIP是一種較為常見的壓縮形式,在Java中要想實現ZIP的壓縮需要導入java.util.zip包,可以使用此包中的ZipFile、ZipOutputStream、ZipInputStream、ZipEntry幾個類完成。

ZipOutputStream類的常用方法

Java GZIPOutputStream流壓縮文件的操作

ZipInputStream類的常用方法

Java GZIPOutputStream流壓縮文件的操作

在JAVA IO中,不僅可以實現ZIP壓縮格式的輸入、輸出,也可以實現JAR及GZIP文件格式的壓縮:

1、JAR壓縮的支持類保存在java.util.jar包中,常用的類有 JarOutputStream(JAR壓縮輸出流)、JarInputStream(JAR壓縮輸入流)、JARFile(JAR文件)、JAREntry(JAR實體)

2、GZIP是用于UNIX系統的文件壓縮,在Linux中經常會使用到*.gz的文件,就是GZIP格式,GZIP壓縮的支持類保存在java.util.zip包中,常用的類有 GZIPOutputStream(GZIP壓縮輸出流)、GZIPInputStream(GZIP壓縮輸入流)

注意:

1、壓縮文件中的每一個壓縮實體都使用ZipEntry保存,一個壓縮文件中可能包含一個或多個ZipEntry對象。

2、在JAVA中可以進行zip、jar、gz三種格式的壓縮支持,操作流程基本上是一致的。

3、ZipOutputStream可以進行壓縮的輸出,但是輸出的位置不一定是文件。

4、ZipFile表示每一個壓縮文件,可以得到每一個壓縮實體的輸入流。

壓縮文件

import java.io.*;import java.util.zip.*; public class MyZip { // 創建類 private void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream( zipFileName)); // 創建ZipOutputStream類對象 zip(out, inputFile, ''); // 調用方法 System.out.println('壓縮中…'); // 輸出信息 out.close(); // 將流關閉 } private void zip(ZipOutputStream out, File f, String base) throws Exception { // 方法重載 if (f.isDirectory()) { // 測試此抽象路徑名表示的文件是否是一個目錄 File[] fl = f.listFiles(); // 獲取路徑數組 out.putNextEntry(new ZipEntry(base + '/')); // 寫入此目錄的entry base = base.length() == 0 ? '' : base + '/'; // 判斷參數是否為空 for (int i = 0; i < fl.length; i++) { // 循環遍歷數組中文件 zip(out, fl[i], base + fl[i]); } } else { out.putNextEntry(new ZipEntry(base)); // 創建新的進入點 // 創建FileInputStream對象 FileInputStream in = new FileInputStream(f); int b; // 定義int型變量 System.out.println(base); while ((b = in.read()) != -1) { // 如果沒有到達流的尾部 out.write(b); // 將字節寫入當前ZIP條目 } in.close(); // 關閉流 } } public static void main(String[] temp) { // 主方法 MyZip book = new MyZip(); // 創建本例對象 try { // 調用方法,參數為壓縮后文件與要壓縮文件 book.zip('hello.zip', new File('src')); System.out.println('壓縮完成'); // 輸出信息 } catch (Exception ex) { ex.printStackTrace(); } }}解壓文件

import java.io.*;import java.util.zip.*; public class Decompressing { // 創建文件 public static void main(String[] temp) { ZipInputStream zin; // 創建ZipInputStream對象 try { // try語句捕獲可能發生的異常 zin = new ZipInputStream(new FileInputStream('hello.zip')); // 實例化對象,指明要進行解壓的文件 ZipEntry entry = zin.getNextEntry(); // 獲取下一個ZipEntry while (((entry = zin.getNextEntry()) != null) && !entry.isDirectory()) { // 如果entry不為空,并不在同一目錄下 File file = new File('d:' + entry.getName()); // 獲取文件目錄 System.out.println(file); if (!file.exists()) { // 如果該文件不存在 file.mkdirs();// 創建文件所在文件夾 file.createNewFile(); // 創建文件 } zin.closeEntry(); // 關閉當前entry System.out.println(entry.getName() + '解壓成功'); } zin.close(); // 關閉流 } catch (Exception e) { e.printStackTrace(); } }}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 南京泽朗生物科技有限公司-液体饮料代加工_果汁饮料代加工_固体饮料代加工 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸| 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 艺术生文化课培训|艺术生文化课辅导冲刺-济南启迪学校 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 桌上式超净工作台-水平送风超净工作台-上海康路仪器设备有限公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 |