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

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

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

    隨筆-25  評論-6  文章-0  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中

    //在classpath中引入ant.jar的包
    import java.io.*;?
    import java.util.*;
    import java.io.File;
    import org.apache.tools.zip.*;

    public? class? CDGGzip?
    {?
    ? //boolean? packFrame? =? false;?
    ? private File srcPath =new File("d:"+File.separator+"邢曉寧");
    ? private String outFilename=new String("d:"+File.separator+"邢曉寧.zip");
    private int len=srcPath.listFiles().length;
    private String[] filenames = new String[len];
    public void setSrcPath(String src){
    ?? srcPath=new File(src);
    ? }
    ? public File getSrcPath(){
    ? return srcPath;
    ? }
    public void setOutFilename(String out){
    ?? outFilename=out;
    ? }
    ? public String getOutFilename(){
    ? return outFilename;
    ? }?

    ? public void gzip(){
    byte[] buf = new byte[1024];
    ? try {
    ? File[]? files? =? srcPath.listFiles();
    ? for(int? i=0;i<len;i++)
    ? {
    ? //if(!files[i].isDirectory())
    filenames[i]=srcPath.getPath()+File.separator+files[i].getName();
    }
    ? ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
    ? for (int i=0; i<filenames.length; i++)
    ? {
    ? FileInputStream in = new FileInputStream(filenames[i]);
    ? out.putNextEntry(new org.apache.tools.zip.ZipEntry(files[i].getName()));
    ? int len;
    ? while ((len = in.read(buf)) > 0)
    ? {
    ? out.write(buf, 0, len);
    ? }

    ? out.closeEntry();
    ? in.close();
    ????? }

    ????? out.close();
    ??? }
    ??? catch (IOException e)
    ??? {
    ??? System.out.println(e);
    ??? }
    ? }
    ?
    ? public static void main(String arg[]){
    ? CDGGzip cdggzip=new CDGGzip();
    ? cdggzip.gzip();
    ? }
    ?
    }

    posted on 2006-05-29 19:08 MyJavaWorld 閱讀(432) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精品免费观看| 又粗又大又黑又长的免费视频| 女人18毛片水最多免费观看| 亚洲乱人伦精品图片| 亚洲高清中文字幕免费| 亚洲中文字幕无码av在线| 免费三级毛片电影片| 亚洲av无码一区二区三区天堂古代| 曰曰鲁夜夜免费播放视频| 最新国产成人亚洲精品影院| 免费一本色道久久一区| 亚洲熟女www一区二区三区| 国产人妖ts在线观看免费视频| 美女羞羞视频免费网站| 亚洲欧洲一区二区三区| 国产在线国偷精品免费看| 亚洲大成色www永久网站| 99在线视频免费| 亚洲AV无码无限在线观看不卡| 在线免费观看中文字幕| 免费无码国产在线观国内自拍中文字幕| 四虎在线播放免费永久视频| 一级毛片a免费播放王色| 亚洲国产一区在线| 久久受www免费人成_看片中文| 亚洲精品天堂成人片AV在线播放 | 日本视频一区在线观看免费| 亚洲av日韩av综合| 国产又长又粗又爽免费视频| 国产高清对白在线观看免费91 | 黑人大战亚洲人精品一区| 亚洲欧洲免费视频| 亚洲欧美日韩一区二区三区在线 | 亚洲AV日韩精品久久久久| 无限动漫网在线观看免费| 免费精品视频在线| 91亚洲精品第一综合不卡播放| 思思99re66在线精品免费观看| 免费看美女午夜大片| 亚洲综合激情视频| 亚洲国产成人精品久久久国产成人一区二区三区综 |