为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

android_zip解压

2012-11-19 6页 doc 33KB 29阅读

用户头像

is_388541

暂无简介

举报
android_zip解压android zip解压 filed in android post by onelong on2010-8-31 0:50 Tuesday 最近在老是泡论坛!看到别人的问题,突然做一个zip解压软件!zip是开源的,不同rar!zip解压软件就是使用了java 的zip包!不过不支持中文的路径,如果你的zip包里包含中文名的东西,呵呵,没办法解压了!Java 毕竟是外国的东西呀!中文支持得不好!是不是没有办法解决呢?不是的,使用apache 的ant.jar就支持中文的! 下面的android的源码: //And...
android_zip解压
android zip解压 filed in android post by onelong on2010-8-31 0:50 Tuesday 最近在老是泡论坛!看到别人的问题,突然做一个zip解压软件!zip是开源的,不同rar!zip解压软件就是使用了java 的zip包!不过不支持中文的路径,如果你的zip包里包含中文名的东西,呵呵,没解压了!Java 毕竟是外国的东西呀!中文支持得不好!是不是没有办法解决呢?不是的,使用apache 的ant.jar就支持中文的! 下面的android的源码: //AndroidUnZip.java package com.hl; import java.io.File; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; /**  * zip解压软件,不支持中文路径!  *  */ public class AndroidUnZip extends ListActivity {     private List txtList = new ArrayList(); ;    public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   File sdCardPath = Environment.getExternalStorageDirectory();   GetFiles( sdCardPath );  }  /**   * 获取文件列表   * @param filePath   */  public void GetFiles( File filePath ){      int i;      File[] files = filePath.listFiles();      if(files != null){       for(i=0;i adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,FileToStr(txtList));   setListAdapter(adapter);   }  }  /**   * 把文件列表转换成字符串   * @param f   * @return   */  public String[] FileToStr( List f ){   ArrayList listStr = new ArrayList();   int i;   for (i = 0; i < f.size(); i++) {    String nameString = f.get(i).getName();    listStr.add(nameString);   }   return listStr.toArray(new String[0]);  }  /**   * 当List中有点击时被激活   */  protected void onListItemClick(ListView l, View v, int position, long id) {   File file = txtList.get(position);   String f=file.toString();   UnZip zip=new UnZip(f);   if(zip.getStaus())    Toast.makeText(AndroidUnZip.this, "解压成功!", Toast.LENGTH_SHORT).show();   else    Toast.makeText(AndroidUnZip.this, "解压失败!", Toast.LENGTH_SHORT).show();  } } //UnZip.java package com.hl; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class UnZip {      private boolean staus=false;      public UnZip(String file){    String unzipfile = file; //解压缩的文件名包含路径         try {           File olddirec = new File(unzipfile); //解压缩的文件路径(为了获取路径)           ZipInputStream zin = new ZipInputStream(new FileInputStream(unzipfile));           ZipEntry entry;           //创建文件夹           while ( (entry = zin.getNextEntry()) != null){             if (entry.isDirectory()) {               File directory = new File(olddirec.getParent(), entry.getName());               if (!directory.exists())                 if (!directory.mkdirs())                  System.exit(0);               zin.closeEntry();             }             if (!entry.isDirectory()) {               File myFile = new File(entry.getName());               //输出路径             String ofile=file.replace(".zip", "");             File fo=new File(ofile);              if(!fo.exists()){               fo.mkdir();              }             FileOutputStream fout = new FileOutputStream(ofile+"/"+myFile.getPath());               DataOutputStream dout = new DataOutputStream(fout);               byte[] b = new byte[1024];               int len = 0;               while ( (len = zin.read(b)) != -1) {                 dout.write(b, 0, len);               }               dout.close();               fout.close();               zin.closeEntry();             staus=true;           }           }       }         catch (IOException e) {           e.printStackTrace();         }     }   public boolean getStaus(){    return staus;   }     } 完成了!但是还有一样东西别忘了!那就权限啦!
/
本文档为【android_zip解压】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索