1. 程式人生 > >java的壓縮和解壓demo

java的壓縮和解壓demo

今天看了一下think in java   的壓縮和解壓這塊,感覺用到的挺多的,做個筆記

/**
* Project Name:mynio
* File Name:ZipCompress.java
* Package Name:com.zsy.zip
* Date:2016-8-22下午10:04:04
* Copyright (c) 
*
*/

package com.zsy.zip;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Enumeration;
import java.util.zip.Adler32;
import java.util.zip.CheckedInputStream;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

public class ZipCompress
{
    
    /**
     * main:(這裡用一句話描述這個方法的作用). <br/>
     * @author syzhao
     * @param args
     * @throws Exception 
     * @since JDK 1.6
     */
    public static void main(String[] args)
        throws Exception
    {
        //檔案輸出流   在這裡我直接建立好了一個test.zip   當然可以動態建立,這裡不多說了
        FileOutputStream fos = new FileOutputStream(new File("D:/test.zip"));
        //校驗過濾流,,顧名思義 於維護資料校驗和用於維護資料完整性的   Checksum有兩種型別:Adler32(快一些)和CRC32(慢一些,但更準確) 根據需要衡量一下
        CheckedOutputStream cos = new CheckedOutputStream(fos, new Adler32());
        //壓縮輸出流
        ZipOutputStream zos = new ZipOutputStream(cos);
        //緩衝
        BufferedOutputStream bos = new BufferedOutputStream(zos);
        //註釋
        zos.setComment("這是一個測試");
        //對於每一個要要加入壓縮檔案的檔案,都必須呼叫putNextEntry,並出入一個ZipEntry物件;至於有什麼用自行百度,,,,,
        zos.putNextEntry(new ZipEntry("WeatherWS11.js"));//WeatherWS11.js 這個是開啟zip檔案後看到的檔名稱,可以測試一下
        //緩衝reader
        // BufferedReader br = new BufferedReader(new FileReader(new File("D:/WeatherWS.js")));
        //讀取要壓縮的檔案內容,可以註釋掉,,
        /*int c;
        while ((c = br.read()) != -1)
        {
            bos.write(c);
        }
        br.close();*/
        System.err.println("Checksum:" + cos.getChecksum().getValue());
        bos.close();
        /************************以上輸出zip,結束**************************/
        
        /************************以下讀取zip,開始**************************/
        
        System.out.println("讀取檔案:");
        //檔案輸入流
        FileInputStream fis = new FileInputStream(new File("D:/test.zip"));
        //校驗過濾流,,顧名思義 於維護資料校驗和用於維護資料完整性的   Checksum有兩種型別:Adler32(快一些)和CRC32(慢一些,但更準確) 根據需要衡量一下
        CheckedInputStream cis = new CheckedInputStream(fis, new Adler32());
        //zip流
        ZipInputStream zis = new ZipInputStream(cis);
        //緩衝
        BufferedInputStream bis = new BufferedInputStream(zis);
        
        ZipEntry ze;
        while ((ze = zis.getNextEntry()) != null)
        {
            System.out.println("rend file:" + ze);
            int x;
            while ((x = bis.read()) != -1)
            {
                //  System.out.println(x);
            }
        }
        
        bis.close();
        
        /***************解壓結束******************************/
        
        //解壓更簡單的方法
        ZipFile zf = new ZipFile("D:/test.zip");
        Enumeration e = zf.entries();
        while (e.hasMoreElements())
        {
            ZipEntry z = (ZipEntry)e.nextElement();
            System.out.println("file:" + z);
        }
        
        zf.close();
    }
    
}


相關推薦

java壓縮和解demo

今天看了一下think in java   的壓縮和解壓這塊,感覺用到的挺多的,做個筆記/** * Project Name:mynio * File Name:ZipCompress.java * Package Name:com.zsy.zip * Date:2016-8

【轉】Java壓縮和解文件工具類ZipUtil

span time 其他 unzip empty del pat 列表 bis 特別提示:本人博客部分有參考網絡其他博客,但均是本人親手編寫過並驗證通過。如發現博客有錯誤,請及時提出以免誤導其他人,謝謝!歡迎轉載,但記得標明文章出處:http://www.cnblogs.

java壓縮和解檔案(支援中文檔名)

參考點選開啟連結,本文中加了些註釋,是個人在學習時的理解筆記,如有錯誤歡迎指正. Apache的zip包可解決中文檔名問題。 1、maven專案的pom.xml載入jar <dependency> <groupId>org.apa

java 壓縮和解lzo檔案

1、依賴 <dependency> <groupId>org.anarres.lzo</groupId> <artifactId>lzo-core&

JAVA壓縮和解字串

轉載地址:https://www.cnblogs.com/dongzhongwei/p/5964758.html lz:叮咚^v^ /*** * 壓縮GZip * * @param data * @return */ public static by

PAT乙級——1078(字串壓縮和解 判斷邊界)Java實現

題目:字串壓縮與解壓 (20 分) 文字壓縮有很多種方法,這裡我們只考慮最簡單的一種:把由相同字元組成的一個連續的片段用這個字元和片段中含有這個字元的個數來表示。例如 ccccc 就用 5c 來表示。如果字元沒有重複,就原樣輸出。例如 aba 壓縮後仍然是 aba。 解壓方法就是

java實現zip的壓縮和解

package cn.tzz.zip; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; i

java程式碼實現檔案或資料夾的壓縮和解

這裡寫了個工具類,可以實現檔案的壓縮和解壓功能。 package com.cntaiping.tpi.common.utils; import java.io.BufferedInputStream; import java.io.File; import java.io

Java字串的GZIP壓縮和解

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException

java對zip進行壓縮和解

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.Closeable; import java.io.File; import java.io.Fi

JAVA字串的壓縮和解

輸入 EEAAACCDD  壓縮成 E2A3C2D2                  輸入 E2A3C2D2  解壓 EEAAACCDD  程式碼: package ss; import java.util.Scanner; public class Demo2

java實現zip的壓縮和解(支援中文檔名)

之前一直在用java-unrar-0.3.jar來解壓rar檔案包,一直很正常,但是今天來了箇中文名字的包,類似於這樣的結構: 壓縮包.rar,這個壓縮包裡面還有個資料夾也叫壓縮包,在解壓這個壓縮包的時候出現了亂碼,研究了好久,已經解決,現與大家分享下。 原來解壓

java程序壓縮和解zip文件

stat cep 數據壓縮 director 壓縮 public ++ zip tel 需要了解的知識匯總:DeflaterOutputStream :壓縮類的基類。ZipOutputStream :DeflaterOutputStream的一個子類,把數據壓縮成Zip文

Linux壓縮和解

color make spa 技術 style 一個 -- 命令格式 span 概述:linux下的主流解壓和壓縮命令有gzip、bzip2、tar、rar、zip。其命令格式大致如下,    壓縮:命令 + 參數 + 壓縮文件的名字 + 壓縮的文件或目錄。    解壓:命

Linux下rar 命令壓縮和解詳解

保持 介紹 詳細 註意 壓縮 rar 縮進 command 解壓縮 例1:添加文件或目錄到壓縮檔案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar檔案中保持原有的file1文件不變,m命令移動file1

linux 下文件加密壓縮和解的方法

文件加解密方法一:用tar命令 對文件加密壓縮和解壓 壓縮: [html] view plain copytar -zcf - filename |openssl des3 -salt -k password | dd of=filename.des3 此命令對filename文件進行加碼壓縮 生成fi

Linux文件壓縮和解使用記錄

詳細 zip命令 文件中 磁盤 信息 兩種方法 例如 進行 哪些 一:tar(可壓縮可解壓) tar命令是Unix/Linux系統中備份文件的可靠方法,幾乎可以工作於任何環境中,它的使用權限是所有用戶。但是tar本身只是一個文件打包工具,只有和其他工具組合時才具有壓縮/解

34模塊-zip【文件壓縮和解、圖片壓縮和編輯】

rotate border title onclick scale max line htm port Zip模塊管理文件壓縮和解壓,通過plus.zip可獲取壓縮管理對象。比較常用的就是 對圖片進行壓縮、轉碼、旋轉操作了 <!DOCTYPE html><

python學習shutil模塊的文件壓縮和解用法

write 文件名 logger .data ner ase 否則 tar for shutil模塊可以創建壓縮包並返回文件路徑,例如 zip,tar,下面詳細其用法 base_name 壓縮包的文件名,也可以是壓縮包的路徑,只是文件名時,則保存至當前目錄,否則保存

壓縮和解問題

以zip和unzip處理.zip檔案 1、zip命令的基本使用方法:    zip file.zip [要壓縮的檔案] zip後接壓縮後的檔名,在它的後面輸入要壓縮的檔案即可。   2、壓縮後,自動刪除原檔案    zip -