<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)  編輯  收藏 所屬分類: 職場生活
    主站蜘蛛池模板: 在线看免费观看AV深夜影院 | 又黄又爽一线毛片免费观看| 亚洲美女一区二区三区| 嫩草影院在线播放www免费观看| 久久久久亚洲AV无码专区网站| 四虎精品免费永久免费视频| 亚洲人成无码网WWW| 国产乱子伦精品免费视频| 国产国拍亚洲精品福利 | 亚洲高清视频在线观看| 久久久精品午夜免费不卡| 亚洲午夜在线电影| 1000部夫妻午夜免费| 亚洲AV一二三区成人影片| 影音先锋在线免费观看| 老司机午夜免费视频| 中文字幕亚洲图片| 午夜免费啪视频在线观看| 亚洲国产精品免费在线观看| 国产精品成人免费一区二区| 朝桐光亚洲专区在线中文字幕| 免费人妻无码不卡中文字幕18禁| www免费黄色网| 亚洲AV成人一区二区三区AV| 中文字幕无码播放免费| 亚洲.国产.欧美一区二区三区| 亚洲精品视频免费| 无码国产精品一区二区免费3p | 国产亚洲精AA在线观看SEE| 午夜视频免费在线观看| 亚洲无码一区二区三区| 亚洲第一视频在线观看免费| 日韩免费在线视频| 亚洲啪AV永久无码精品放毛片| 亚洲国产精品人人做人人爽| 一级毛片不卡片免费观看| 亚洲AV无码专区国产乱码不卡| 亚洲中文字幕在线乱码| 无码人妻一区二区三区免费| 一级特黄录像免费播放中文版| 亚洲自偷自拍另类图片二区|