<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dev@Free

    zJun's Tech Weblog

    Compress and Uncompress in Java

    整理自: The Java Developers Almanac 1.4

    Compressing a File in the GZIP Format:
    try ?{
    ????
    // ?Create?the?GZIP?output?stream
    ????String?outFilename? = ? " outfile.gzip " ;
    ????GZIPOutputStream?out?
    = ? new ?GZIPOutputStream( new ?FileOutputStream(outFilename));

    ????
    // ?Open?the?input?file
    ????String?inFilename? = ? " infilename " ;
    ????FileInputStream?in?
    = ? new ?FileInputStream(inFilename);

    ????
    // ?Transfer?bytes?from?the?input?file?to?the?GZIP?output?stream
    ???? byte []?buf? = ? new ? byte [ 1024 ];
    ????
    int ?len;
    ????
    while ?((len? = ?in.read(buf))? > ? 0 )?{
    ????????out.write(buf,?
    0 ,?len);
    ????}
    ????in.close();

    ????
    // ?Complete?the?GZIP?file
    ????out.finish();
    ????out.close();
    }?
    catch ?(IOException?e)?{
    }

    Uncompressing a File in the GZIP Format:
    try ?{
    ????
    // ?Open?the?compressed?file
    ????String?inFilename? = ? " infile.gzip " ;
    ????GZIPInputStream?in?
    = ? new ?GZIPInputStream( new ?FileInputStream(inFilename));

    ????
    // ?Open?the?output?file
    ????String?outFilename? = ? " outfile " ;
    ????OutputStream?out?
    = ? new ?FileOutputStream(outFilename);

    ????
    // ?Transfer?bytes?from?the?compressed?file?to?the?output?file
    ???? byte []?buf? = ? new ? byte [ 1024 ];
    ????
    int ?len;
    ????
    while ?((len? = ?in.read(buf))? > ? 0 )?{
    ????????out.write(buf,?
    0 ,?len);
    ????}

    ????
    // ?Close?the?file?and?stream
    ????in.close();
    ????out.close();
    }?
    catch ?(IOException?e)?{
    }

    Creating a ZIP File:
    // ?These?are?the?files?to?include?in?the?ZIP?file
    String[]?filenames? = ? new ?String[]{ " filename1 " ,? " filename2 " };

    // ?Create?a?buffer?for?reading?the?files
    byte []?buf? = ? new ? byte [ 1024 ];

    try ?{
    ????
    // ?Create?the?ZIP?file
    ????String?outFilename? = ? " outfile.zip " ;
    ????ZipOutputStream?out?
    = ? new ?ZipOutputStream( new ?FileOutputStream(outFilename));

    ????
    // ?Compress?the?files
    ???? for ?( int ?i = 0 ;?i < filenames.length;?i ++ )?{
    ????????FileInputStream?in?
    = ? new ?FileInputStream(filenames[i]);

    ????????
    // ?Add?ZIP?entry?to?output?stream.
    ????????out.putNextEntry( new ?ZipEntry(filenames[i]));

    ????????
    // ?Transfer?bytes?from?the?file?to?the?ZIP?file
    ???????? int ?len;
    ????????
    while ?((len? = ?in.read(buf))? > ? 0 )?{
    ????????????out.write(buf,?
    0 ,?len);
    ????????}

    ????????
    // ?Complete?the?entry
    ????????out.closeEntry();
    ????????in.close();
    ????}

    ????
    // ?Complete?the?ZIP?file
    ????out.close();
    }?
    catch ?(IOException?e)?{
    }

    Listing the Contents of a ZIP File:
    try ?{
    ????
    // ?Open?the?ZIP?file
    ????ZipFile?zf? = ? new ?ZipFile( " filename.zip " );

    ????
    // ?Enumerate?each?entry
    ???? for ?(Enumeration?entries? = ?zf.entries();?entries.hasMoreElements();)?{
    ????????
    // ?Get?the?entry?name
    ????????String?zipEntryName? = ?((ZipEntry)entries.nextElement()).getName();
    ????}
    }?
    catch ?(IOException?e)?{
    }

    Retrieving a Compressed File from a ZIP File:
    try ?{
    ????
    // ?Open?the?ZIP?file
    ????String?inFilename? = ? " infile.zip " ;
    ????ZipInputStream?in?
    = ? new ?ZipInputStream( new ?FileInputStream(inFilename));

    ????
    // ?Get?the?first?entry
    ????ZipEntry?entry? = ?in.getNextEntry();

    ????
    // ?Open?the?output?file
    ????String?outFilename? = ? " o " ;
    ????OutputStream?out?
    = ? new ?FileOutputStream(outFilename);

    ????
    // ?Transfer?bytes?from?the?ZIP?file?to?the?output?file
    ???? byte []?buf? = ? new ? byte [ 1024 ];
    ????
    int ?len;
    ????
    while ?((len? = ?in.read(buf))? > ? 0 )?{
    ????????out.write(buf,?
    0 ,?len);
    ????}

    ????
    // ?Close?the?streams
    ????out.close();
    ????in.close();
    }?
    catch ?(IOException?e)?{
    }

    posted on 2008-06-03 23:02 zJun's帛羅閣 閱讀(1362) 評論(1)  編輯  收藏 所屬分類: Java基礎

    評論

    # re: Compress and Uncompress in Java 2009-12-20 05:54 Krista22

    The whole internet is full with <a href="http://www.primedissertations.com">thesis writing service</a> and thesis proposal referring to this good topic though to get really good accomplished <a href="http://www.primedissertations.com">dissertation</a>, students can find it.   回復  更多評論   

    導航

    <2008年6月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統計

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    博客

    文檔

    站點

    論壇

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线播放亚洲精品| 亚洲精品自偷自拍无码| 中文字幕免费观看全部电影| 在线播放免费播放av片| 国产亚洲玖玖玖在线观看| 国产在线观看片a免费观看| 亚洲福利电影在线观看| 99re免费99re在线视频手机版| 亚洲天堂男人天堂| 91在线手机精品免费观看| 亚洲第一页在线播放| 无码视频免费一区二三区| 亚洲欧美国产国产综合一区| 国产成人综合久久精品免费| 国产天堂亚洲国产碰碰| 免费人成网站在线播放| fc2免费人成在线视频| 日本亚洲视频在线| 999任你躁在线精品免费不卡| 亚洲日韩乱码中文无码蜜桃臀| 曰曰鲁夜夜免费播放视频| 亚洲成a人片在线不卡一二三区 | 亚洲第一成人影院| 一级做a毛片免费视频| 亚洲国产精品无码成人片久久| 99在线观看视频免费| 在线综合亚洲欧洲综合网站| 国产又粗又长又硬免费视频| 五月婷婷免费视频| 亚洲精品福利视频| 色妞WWW精品免费视频| 丰满妇女做a级毛片免费观看| 亚洲精品无码久久久久| 免费福利网站在线观看| 国产99久久亚洲综合精品| 国产中文在线亚洲精品官网| 亚洲黄色免费观看| 疯狂做受xxxx高潮视频免费| 亚洲精品综合一二三区在线| 免费视频中文字幕| 久久99毛片免费观看不卡|