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

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

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

    posts - 22,comments - 35,trackbacks - 0

    用java.util.zip制作zip壓縮文件時,如果制作的壓縮文件有中文文件名或中文目錄,用WinZip、WinRar解壓時會有亂碼, 同樣,用java.util.zip解壓WinZip、WinRar打包的壓縮文件時,中文也是亂碼,主要原因是因為java.util.zip使用編碼和WinZip和WinRar使用的不同,在網上找了半天,發現只有兩種解決方法:
    1、修改import java.util.zip.ZipInputStream和ZipOutputStream。
    2、使用Apache Ant里提供的zip工具。
    -------------------------------------
    已找到解決方法,就是用Ant的zip來實現,Ant里面可以指定編碼,而java.util.zip是寫死了的,只能用UTF-8,呵呵
    -------------------------------
    不要使用java.util.zip的包,用ant.jar放到classpath中

    ?

    ?1 // 在classpath中引入ant.jar的包
    ?2 import ?java.io. * ;??
    ?3 import ?java.util. * ;
    ?4 import ?java.io.File;
    ?5 import ?org.apache.tools.zip. * ;
    ?6
    ?7 public ?? class ??CDGGzip??
    ?8 {??
    ?9 ?? // boolean??packFrame??=??false;??
    10 ?? private ?File?srcPath? = new ?File( " d: " + File.separator + " 張任全 " );
    11 ?? private ?String?outFilename = new ?String( " d: " + File.separator + " 張任全.zip " );
    12 private ? int ?len = srcPath.listFiles().length;
    13 private ?String[]?filenames? = ? new ?String[len];
    14 public ? void ?setSrcPath(String?src) {
    15 ???srcPath = new ?File(src);
    16 ??}

    17 ?? public ?File?getSrcPath() {
    18 ?? return ?srcPath;
    19 ??}

    20 public ? void ?setOutFilename(String?out) {
    21 ???outFilename = out;
    22 ??}

    23 ?? public ?String?getOutFilename() {
    24 ?? return ?outFilename;
    25 ??}
    ??
    26
    27 ?? public ? void ?gzip() {
    28 byte []?buf? = ? new ? byte [ 1024 ];
    29 ?? try ? {
    30 ??File[]??files?? = ??srcPath.listFiles();?
    31 ?? for ( int ??i = 0 ;i < len;i ++ )
    32 ?? {
    33 ?? // if(!files[i].isDirectory())
    34 filenames[i] = srcPath.getPath() + File.separator + files[i].getName();
    35 }

    36 ??ZipOutputStream?out? = ? new ?ZipOutputStream( new ?FileOutputStream(outFilename));
    37 ?? for ?( int ?i = 0 ;?i < filenames.length;?i ++ )?
    38 ?? {
    39 ??FileInputStream?in? = ? new ?FileInputStream(filenames[i]);
    40 ??out.putNextEntry( new ?org.apache.tools.zip.ZipEntry(files[i].getName()));
    41 ?? int ?len;
    42 ?? while ?((len? = ?in.read(buf))? > ? 0 )?
    43 ?? {
    44 ??out.write(buf,? 0 ,?len);
    45 ??}

    46
    47 ??out.closeEntry();
    48 ??in.close();
    49 ??????}

    50
    51 ??????out.close();
    52 ????}
    ?
    53 ???? catch ?(IOException?e)?
    54 ???? {
    55 ????System.out.println(e);?
    56 ????}

    57 ??}

    58 ??
    59 ?? public ? static ? void ?main(String?arg[]) {
    60 ??CDGGzip?cdggzip = new ?CDGGzip();
    61 ??cdggzip.gzip();
    62 ??}

    63 }

    64
    65

    posted on 2006-04-21 18:24 kelven 閱讀(386) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 国产精品久久久久免费a∨ | 国产成人无码免费看视频软件 | 亚洲国产精品一区二区久久hs| 皇色在线免费视频| 亚洲小说图区综合在线| 亚洲人成电影网站色www| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 国产成人自产拍免费视频| 日韩精品无码免费专区午夜 | 精品视频免费在线| A国产一区二区免费入口| 亚洲国产精品成人久久蜜臀| 亚洲AV美女一区二区三区| 18禁超污无遮挡无码免费网站| 2020久久精品国产免费| 自怕偷自怕亚洲精品| 永久在线免费观看| 免费在线一级毛片| 亚洲欧洲日产v特级毛片| 日本视频一区在线观看免费| 亚洲精品综合久久| 黄色网址免费在线观看| 久久久久久久综合日本亚洲| 日韩免费电影网址| 亚洲AV中文无码乱人伦| 国产大片免费天天看| 久久精品国产精品亚洲艾 | selaoban在线视频免费精品| 国产亚洲日韩在线三区| 69视频免费观看l| 亚洲AV无码乱码在线观看性色扶| 久久夜色精品国产噜噜亚洲AV| 亚洲男人的天堂网站| 国产精品无码素人福利免费| 国产精品免费久久久久影院| 亚洲爱情岛论坛永久| 好男人www免费高清视频在线 | 亚洲国产综合无码一区二区二三区 | 亚洲国产成人精品无码久久久久久综合| 亚洲伊人tv综合网色| 成人免费视频观看无遮挡|