亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用Java實現zip壓縮/解壓縮(1)

2019-11-18 13:24:46
字體:
來源:轉載
供稿:網友

  由于網絡帶寬有限,所以數據文件的壓縮有利于數據在Internet上的快速傳輸,同時也節
  
  省服務器的外存空間。
  
    java 1.1實現了I/O數據流與網絡數據流的單一接口,因此數據的壓縮、網絡傳輸和解
  
  壓縮的實現比較輕易,下面介紹利用ZipEntry、ZipInputStream和ZipOutputStream三個Java
  
  類實現zip數據壓縮方式的編程方法。
  
    zip壓縮文件結構:一個zip文件由多個entry組成,每個entry有一個唯一的名稱,entry的
  
  數據項存儲壓縮數據。
  
    與zip文件有關的幾個Java類
  
    ·類ZipEntry
  
    public ZipEntry(String name);
  
    name為指定的數據項名。
  
    ·類ZipOutputStream
  
    ZipOutputStream實現了zip壓縮文件的寫輸出流,支持壓縮和非壓縮entry。下面是它的
  
  幾個函數:
  
    public ZipOutputStream(OutputStream out);
  
    ∥利用輸出流out構造一個ZIP輸出流。
  
    public void setMethod(int method);
  
    ∥設置entry壓縮方法,缺省值為DEFLATED。
  
    public void putNextEntry(ZipEntry newe);
  
    ∥假如當前的entry存在且處于激活狀態時,關閉它,在zip文件中寫入新的entry-newe
  
  并將數據流定位于entry數據項的起始位置,壓縮方法為setMethod指定的方法。
  
    ·類ZipInputStream
  
    ZipInputStream實現了zip壓縮文件的讀輸入流,支持壓縮和非壓縮entry。下面是它的
  
  幾個函數:
  
    public ZipInputStream(InputStream in);
  
    ∥利用輸入流in構造一個ZIP輸出流。
  
    public ZipEntry getNextEntry();
  
    ∥返回ZIP文件中的下一個entry,并將輸出流定位在此entry數據項的起始位置。
  
    public void closeEntry();
  
    ∥關閉當前的zip entry,并將數據流定位于下一個entry的起始位置。
  
    程序代碼及其注釋
  
    下列的程序實現了數據文件zip方式的壓縮和解壓縮方法。randomData()函數隨機生成
  
  50個double數據,并放在doc字符串變量中;openFile()函數讀取ZIP壓縮文件;saveFile()函數
  
  將隨機生成的數據存到ZIP格式的壓縮文件中。
  
    import java.util.zip.*;
  
    import java.awt.event.*;
  
    import java.awt.*;
  
    import java.lang.Math;
  
    import java.io.*;
  
    public class TestZip extends Frame implements ActionListener {
  
    TextArea textarea; ∥顯示數據文件的多行文本顯示域
  
    TextField infotip; ∥顯示數據文件未壓縮大小及壓縮大小單行文本顯示域
  
    String doc; ∥存儲隨機生成的數據
  
    long doczipsize = 0;∥壓縮數據文件的大小
  
    public TestZip(){
  
    ∥生成菜單
  
    MenuBar menubar = new MenuBar();
  
    setMenuBar(menubar);
  
    Menu file = new Menu("File",true);
  
    menubar.add(file);
  
    MenuItem neww= new MenuItem("New");
  
    neww.addActionListener(this);
  
    file.add(neww);
  
    MenuItem open=new MenuItem("Open");
  
    open.addActionListener(this);
  
    file.add(open);
  
    MenuItem save=new MenuItem("Save");
  
    save.addActionListener(this);
  
    file.add(save);
  
    MenuItem exit=new MenuItem("Exit");
  
    exit.addActionListener(this);
  
    file.add(exit);
  
    ∥隨機生成的數據文件的多行文本顯示域
  
    add("Center",textarea = new TextArea());
  
    ∥提示文本原始大小、壓縮大小的單行文本顯示域
  
    add("South",infotip = new TextField());
  
    }
  
    public static void main(String args[]){
  
    TestZip ok=new TestZip();
  
    ok.setTitle("zip sample");
  
    ok.setSize(600,300);
  
    ok.show();
  
    }
  
    PRivate void randomData(){
  
    ∥隨機生成50個double數據,并放在doc字符串變量中。
  
    doc="";
  
    for(int i=1;i<51;i++){
  
     double rdm=Math.random()*10;
  
     doc=doc+new Double(rdm).toString();
  
     if(i%5 == 0) doc=doc+"/n";
  
     else doc=doc+" ";
  
    }
  
    doczipsize = 0;
  
    showTextandInfo();
  
    }
  
    private void openFile(){
  
    ∥打開zip文件,將文件內容讀入doc字符串變量中。
  
    FileDialog dlg=new FileDialog(this,"Open",FileDialog.LOA D);
  
    dlg.show();
  
    String filename=dlg.getDirectory()+dlg.getFile();
  
    try{
  
    ∥創建一個文件實例
  
    File f=new File(filename);
  
    if(!f.exists()) return; ∥文件不存在,則返回
  
    ∥用文件輸入流構建ZIP壓縮輸入流
  
    ZipInputStream zipis=new ZipInputStream(new FileInputStream(f));
  
    zipis.getNextEntry();
  
    ∥將輸入流定位在當前entry數據項位置
  
    DataInputStream dis=new DataInputStream(zipis);
  
    ∥用ZIP輸入流構建DataInputStream
  
    doc=dis.readUTF();∥讀取文件內容
  
    dis.close();∥關閉文件
  
    doczipsize = f.length();∥獲取ZIP文件長度
  
    showTextandInfo();∥顯示數據
  
    }
  
    catch(IOException ioe){
  
    System.out.println(ioe);
  
    }
  
    }
  
    private void saveFile(){
  
    ∥打開zip文件,將doc字符串變量寫入zip文件中。
  
    FileDialog dlg=new FileDialog(this,"Save",FileDialog.SAVE);
  
    dlg.show();
  
    String filename=dlg.getDirectory()+dlg.getFile();
  
    try{
  
    ∥創建一個文件實例
  
    File f=new File(filename);
  
    if(!f.exists()) return; ∥文件不存在,則返回
  
    ∥用文件輸出流構建ZIP壓縮輸出流
  
    ZipOutputStream zipos=new ZipOutputStream(new FileOutputStream(f));
  
    zipos.setMethod(ZipOutputStream.DEFLATED); ∥設置壓縮方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
疯狂做受xxxx高潮欧美日本| 91av网站在线播放| 日韩成人中文字幕在线观看| 国产精品揄拍一区二区| 国产精品中文字幕久久久| 色偷偷888欧美精品久久久| 日韩美女中文字幕| 日韩av成人在线观看| 精品中文字幕乱| 亚洲欧美日韩在线高清直播| 亚洲精品在线91| 欧美激情一级精品国产| 国产精品极品美女粉嫩高清在线| 国模视频一区二区| 九九视频直播综合网| 国产精品 欧美在线| 国产美女久久精品香蕉69| 一区二区三区在线播放欧美| 国产日韩中文在线| 久久99国产精品自在自在app| 亚洲在线免费视频| 7m第一福利500精品视频| 亚洲视频电影图片偷拍一区| 欧美裸体男粗大视频在线观看| 亚洲欧美国产精品va在线观看| 亚洲色图五月天| 69影院欧美专区视频| 91久热免费在线视频| 欧美激情精品久久久久久| 日韩精品一区二区三区第95| 97成人精品区在线播放| 亚洲精品xxx| 国产精品久久久久久av福利软件| 欧美中文字幕视频| 亚洲国产精品一区二区三区| 97视频在线观看成人| 欧美极品少妇xxxxⅹ喷水| 色噜噜久久综合伊人一本| 国产视频亚洲精品| 国产精品99久久久久久www| 国产精品青青在线观看爽香蕉| 97视频免费看| 欧美一区二区三区免费观看| 午夜精品视频在线| 日韩av三级在线观看| 久久综合亚洲社区| 欧美高清视频在线播放| 色视频www在线播放国产成人| 欧美男插女视频| 亚洲男人第一网站| 最近2019中文字幕第三页视频| 国产精品尤物福利片在线观看| 久久乐国产精品| 国产a级全部精品| 欧美日本在线视频中文字字幕| 亚洲成色777777女色窝| 狠狠久久五月精品中文字幕| 懂色av影视一区二区三区| 国产精品久久久久久久av大片| 国产香蕉一区二区三区在线视频| 91性高湖久久久久久久久_久久99| 中文字幕在线国产精品| 性色av香蕉一区二区| 奇门遁甲1982国语版免费观看高清| 亚洲成人a**站| 国产亚洲精品久久久久动| 亚洲91精品在线观看| 中文字幕亚洲欧美一区二区三区| 亚洲国产精久久久久久久| 美女精品久久久| 欧美中文字幕在线| 午夜精品一区二区三区在线播放| 日韩精品丝袜在线| 欧美精品精品精品精品免费| 久久久天堂国产精品女人| 亚洲精品999| 亚洲精品资源在线| 国产精品视频xxxx| 国产精品午夜一区二区欲梦| 成人欧美在线观看| 亚洲国产精品女人久久久| 欧美亚洲日本黄色| 亚洲三级黄色在线观看| 欧美一级淫片播放口| 成人中文字幕在线观看| 国产精品自拍视频| xxxx性欧美| 九九久久国产精品| 久久久久久久久久久免费精品| 国产69久久精品成人| 日韩动漫免费观看电视剧高清| 91chinesevideo永久地址| 久久久久久久久久久网站| 国产精品黄色影片导航在线观看| 欧美激情久久久久久| www.日韩免费| 97碰在线观看| 国产精品video| 国产精品高潮视频| 伦理中文字幕亚洲| 精品亚洲夜色av98在线观看| 91地址最新发布| 亚洲精品国产精品久久清纯直播| 国产精品成人观看视频国产奇米| 中文字幕亚洲在线| 中文精品99久久国产香蕉| 韩国视频理论视频久久| 亚洲国产日韩欧美在线99| 欧美国产日韩一区二区在线观看| 欧美一级淫片aaaaaaa视频| 中文字幕视频一区二区在线有码| 日韩视频精品在线| 亚洲一区二区三区成人在线视频精品| 日韩中文在线视频| 国产精品久久久久影院日本| 成人激情视频在线观看| 国产suv精品一区二区三区88区| 国产精品爽爽ⅴa在线观看| 欧美在线视频在线播放完整版免费观看| 欧美wwwxxxx| 91久久久久久国产精品| 欧美精品日韩www.p站| 日韩av大片在线| 欧美日韩国产麻豆| 国产精品私拍pans大尺度在线| 精品亚洲国产视频| 久久久999国产| 欧美激情亚洲激情| 国产精品稀缺呦系列在线| 亚洲欧美日韩一区二区三区在线| 亚洲国产天堂久久综合网| 欧美性猛交xxxx乱大交3| 日韩美女在线观看一区| 亚洲成人久久久| 精品国产乱码久久久久久婷婷| 欧美性色19p| 九九综合九九综合| 国产日韩欧美在线视频观看| 在线视频中文亚洲| 亚洲精品免费一区二区三区| 国产婷婷成人久久av免费高清| 国产91色在线|| 精品久久久久久久久久ntr影视| 国产精品亚洲美女av网站| 欧美色视频日本高清在线观看| 精品一区二区三区四区| www.99久久热国产日韩欧美.com| 欧美另类极品videosbest最新版本| 黄色成人在线免费| 国产精品亚洲综合天堂夜夜| 91精品国产91久久久久久吃药| 亚洲肉体裸体xxxx137| 亚洲精品xxxx| 狠狠综合久久av一区二区小说| 国产精品久久久久久久久久ktv| 亚洲一区二区三区久久| 国产精品视频一| 57pao成人国产永久免费| 欧美成人精品在线观看| 日韩成人在线视频网站| 一区二区三区国产在线观看| 亚洲新声在线观看| 91色p视频在线| 色悠悠国产精品|