您现在的位置是:首页 >

手机解压加密压缩包 用JAVA解压ZIP

火烧 2022-11-14 02:15:54 1040
用JAVA解压ZIP   关于解压ZIP文件的类 解决了中文问题及提高了解压的速度.希望对大家有所帮助.  im ort java io *   im ort java util *   im ort
手机解压加密压缩包 用JAVA解压ZIP

用JAVA解压ZIP  

  关于解压ZIP文件的类 解决了中文问题及提高了解压的速度.希望对大家有所帮助.  import java io *;  import java util *;  import java util zip *;  import sun io *;    public class linzip  {  public static String make toGB(String str)  {   try{   String str = new String(str getBytes( _ ) GB );   return str ;   }catch(UnsupportedEncodingException ioe){   return str;   }  }    public static void main(String[] args)  {   if (args length < 1){   System.err.println("Required parameter missing!");   System.exit(-1);   }         File infile = new File(args[0]);     try{   //检查是否是ZIP文件   ZipFile zip = new ZipFile(infile);   zip.close();      //建立与目标文件的输入连接   ZipInputStream in = new ZipInputStream(new FileInputStream(infile));   ZipEntry file = in.getNextEntry();         int i =infile.getAbsolutePath().lastIndexOf('.');   String dirname = new String();   if ( i != -1 )   dirname = infile.getAbsolutePath().substring(0,i);   else   dirname = infile.getAbsolutePath();   File newdir = new File(dirname);   newdir.mkdir();      byte[] c = new byte[1024];   int len;   int slen;      while (file != null){      i = make8859toGB(file.getName()).replace('/','\').lastIndexOf('\');   if ( i != -1 ){   File dirs = new File(dirname+File.separator+make8859toGB(file.getName()).replace('/','\').substring(0,i));   dirs.mkdirs();   dirs = null;   }      System.out.print("Extract "+make8859toGB(file.getName()).replace('/','\')+" ........ ");      if (file.isDirectory()){   File dirs = new File(make8859toGB(file.getName()).replace('/','\'));   dirs.mkdir();   dirs = null;   }   else{    FileOutputStream out = new FileOutputStream(dirname+File.separator+make8859toGB(file.getName()).replace('/','\'));   while((slen = in.read(c,0,c.length)) != -1)   out.write(c,0,slen);   out.close();   }   System.out.print("O.K.n");   file = in.getNextEntry();   }   in.close();   }catch(ZipException zipe){   MessageBox(0,infile.getName()+"不是一个ZIP文件!","文件格式错误",16);   }catch(IOException ioe){   MessageBox(0,"读取"+args[0]+"时错误!","文件读取错误",16);   }catch(Exception i){   System.out.println("over");   }  }    /**   * @dll.import("USER32", auto)    */  public static native int MessageBox(int hWnd, String lpText, String lpCaption, int uType);  }    以上程序在WIN98&VJ6.0测试通过. lishixinzhi/Article/program/Java/Javascript/201311/25289  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码