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

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

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

    隨筆-200  評論-148  文章-15  trackbacks-0

    1,壓縮的

    import ?java.io.BufferedInputStream;
    import ?java.io.BufferedOutputStream;
    import ?java.io.File;
    import ?java.io.FileInputStream;
    import ?java.io.FileOutputStream;
    import ?java.util.zip.ZipEntry;
    import ?java.util.zip.ZipOutputStream;

    public ? class ?Zip? {
    ????
    static ? final ? int ?BUFFER? = ? 2048 ;

    ????
    public ? static ? void ?main(String?argv[])? {
    ????????
    try ? {
    ????????????BufferedInputStream?origin?
    = ? null ;
    ????????????FileOutputStream?dest?
    = ? new ?FileOutputStream( " E:\\test\\myfiles.zip " );
    ????????????ZipOutputStream?out?
    = ? new ?ZipOutputStream( new ?BufferedOutputStream(
    ????????????????????dest));
    ????????????
    byte ?data[]? = ? new ? byte [BUFFER];
    ????????????File?f?
    = ? new ?File( " e:\\test\\a\\ " );
    ????????????File?files[]?
    = ?f.listFiles();

    ????????????
    for ?( int ?i? = ? 0 ;?i? < ?files.length;?i ++ )? {
    ????????????????FileInputStream?fi?
    = ? new ?FileInputStream(files[i]);
    ????????????????origin?
    = ? new ?BufferedInputStream(fi,?BUFFER);
    ????????????????ZipEntry?entry?
    = ? new ?ZipEntry(files[i].getName());
    ????????????????out.putNextEntry(entry);
    ????????????????
    int ?count;
    ????????????????
    while ?((count? = ?origin.read(data,? 0 ,?BUFFER))? != ? - 1 )? {
    ????????????????????out.write(data,?
    0 ,?count);
    ????????????????}

    ????????????????origin.close();
    ????????????}

    ????????????out.close();
    ????????}
    ? catch ?(Exception?e)? {
    ????????????e.printStackTrace();
    ????????}

    ????}

    }
    2,解壓縮的。
    import?java.io.BufferedInputStream;
    import?java.io.BufferedOutputStream;
    import?java.io.File;
    import?java.io.FileOutputStream;
    import?java.util.Enumeration;
    import?java.util.zip.ZipEntry;
    import?java.util.zip.ZipFile;

    public?class?UnZip?{
    ????
    static?final?int?BUFFER?=?2048;

    ????
    public?static?void?main(String?argv[])?{
    ????????
    try?{
    ????????????String?fileName?
    =?"E:\\test\\myfiles.zip";
    ????????????String?filePath?
    =?"E:\\test\\";
    ????????????ZipFile?zipFile?
    =?new?ZipFile(fileName);
    ????????????Enumeration?emu?
    =?zipFile.entries();
    ????????????
    int?i=0;
    ????????????
    while(emu.hasMoreElements()){
    ????????????????ZipEntry?entry?
    =?(ZipEntry)emu.nextElement();
    ????????????????
    //會把目錄作為一個file讀出一次,所以只建立目錄就可以,之下的文件還會被迭代到。
    ????????????????if?(entry.isDirectory())
    ????????????????
    {
    ????????????????????
    new?File(filePath?+?entry.getName()).mkdirs();
    ????????????????????
    continue;
    ????????????????}

    ????????????????BufferedInputStream?bis?
    =?new?BufferedInputStream(zipFile.getInputStream(entry));
    ????????????????File?file?
    =?new?File(filePath?+?entry.getName());
    ????????????????
    //加入這個的原因是zipfile讀取文件是隨機讀取的,這就造成可能先讀取一個文件
    ????????????????
    //而這個文件所在的目錄還沒有出現過,所以要建出目錄來。
    ????????????????File?parent?=?file.getParentFile();
    ????????????????
    if(parent?!=?null?&&?(!parent.exists())){
    ????????????????????parent.mkdirs();
    ????????????????}

    ????????????????FileOutputStream?fos?
    =?new?FileOutputStream(file);
    ????????????????BufferedOutputStream?bos?
    =?new?BufferedOutputStream(fos,BUFFER);???????????
    ????????????????
    ????????????????
    int?count;
    ????????????????
    byte?data[]?=?new?byte[BUFFER];
    ????????????????
    while?((count?=?bis.read(data,?0,?BUFFER))?!=?-1)
    ????????????????
    {
    ????????????????????bos.write(data,?
    0,?count);
    ????????????????}

    ????????????????bos.flush();
    ????????????????bos.close();
    ????????????????bis.close();
    ????????????}

    ????????????zipFile.close();
    ????????}
    ?catch?(Exception?e)?{
    ????????????e.printStackTrace();
    ????????}

    ????}

    }


    posted on 2008-01-19 15:31 無聲 閱讀(448) 評論(0)  編輯  收藏 所屬分類: 職場生活
    主站蜘蛛池模板: 国产99久久久久久免费看| 亚洲一区二区三区乱码A| 免费视频一区二区| 日本特黄特色AAA大片免费| 亚洲国产精品一区二区三区在线观看| 亚洲人成伊人成综合网久久久| 国产成人免费ā片在线观看| 国产在线a免费观看| 四虎影视在线影院在线观看免费视频 | 成年女人免费视频播放体验区| 精品视频在线免费观看| 一级做a爰片久久毛片免费看| 亚洲av无码成人影院一区| 亚洲人成77777在线观看网| 亚洲国产成人资源在线软件| 亚洲精品免费视频| 亚洲av女电影网| 亚洲成a人片在线观看日本| 亚洲午夜久久久久久久久电影网 | 久久精品国产亚洲AV忘忧草18| 亚洲欧洲日韩不卡| 亚洲精品在线观看视频| 亚洲国产高清人在线| 亚洲av无码乱码国产精品fc2| 亚洲欧洲日本在线| 亚洲国产日韩在线观频| 亚洲国产婷婷香蕉久久久久久| 亚洲精品和日本精品| 亚洲区小说区图片区| 久久亚洲av无码精品浪潮| 亚洲中久无码永久在线观看同| 亚洲情侣偷拍精品| 亚洲熟妇无码乱子AV电影| 亚洲人成网亚洲欧洲无码久久| 国产AV无码专区亚洲精品| 亚洲AV无码一区二区乱子伦| 亚洲精品国产成人99久久| 亚洲三级视频在线观看| 亚洲精品色播一区二区| 国产成人亚洲综合在线| 一级毛片在线免费视频|