<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级毛片免费视频内谢| 搡女人免费视频大全| www亚洲一级视频com| 在线观看亚洲精品国产| 亚洲人成网站日本片| 一级毛片无遮挡免费全部| 色欲A∨无码蜜臀AV免费播| 亚洲第一区香蕉_国产a| 国产亚洲精品美女久久久久| 国产无遮挡裸体免费视频在线观看| AV片在线观看免费| 亚洲第一区香蕉_国产a| 亚洲一区二区三区免费视频| 国产成人无码区免费A∨视频网站| 国产亚洲一区二区三区在线观看| 国产午夜亚洲精品| 无码国产精品一区二区免费16| 亚洲精品午夜视频| 黄 色一级 成 人网站免费| 拍拍拍又黄又爽无挡视频免费| 亚洲精品美女久久久久久久| 久久久久国产免费| 亚洲成年人电影在线观看| 免费毛片在线视频| 亚洲 暴爽 AV人人爽日日碰| 国产精品无码免费视频二三区| 国产日韩精品无码区免费专区国产 | 国产精品冒白浆免费视频| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲色最新高清av网站| 亚洲精品99久久久久中文字幕 | 蜜桃精品免费久久久久影院| 亚洲精品视频免费观看| 亚洲∧v久久久无码精品| 夜夜嘿视频免费看| 伊人久久亚洲综合影院首页| 国产国拍亚洲精品福利|